/ *
* jqGrid 4.3 . 0 - jQuery Grid
* Copyright ( c ) 2008 , Tony Tomov , tony @ trirand . com
* Dual licensed under the MIT and GPL licenses
* http : //www.opensource.org/licenses/mit-license.php
* http : //www.gnu.org/licenses/gpl-2.0.html
* Date : 2011 - 12 - 12
* Modules : grid . base . js ; jquery . fmatter . js ; grid . custom . js ; grid . common . js ; grid . formedit . js ; grid . filter . js ; grid . inlinedit . js ; grid . celledit . js ; jqModal . js ; jqDnR . js ; grid . subgrid . js ; grid . grouping . js ; grid . treegrid . js ; grid . import . js ; JsonXml . js ; grid . tbltogrid . js ; grid . jqueryui . js ;
* /
/ *
jqGrid 4.3 . 0 - jQuery Grid
Copyright ( c ) 2008 , Tony Tomov , tony @ trirand . com
Dual licensed under the MIT and GPL licenses
http : //www.opensource.org/licenses/mit-license.php
http : //www.gnu.org/licenses/gpl-2.0.html
Date : 2011 - 12 - 12
* /
( function ( b ) { b . jgrid = b . jgrid || { } ; b . extend ( b . jgrid , { htmlDecode : function ( e ) { if ( e && ( e == " " || e == " " || e . length === 1 && e . charCodeAt ( 0 ) === 160 ) ) return "" ; return ! e ? e : String ( e ) . replace ( />/g , ">" ) . replace ( /</g , "<" ) . replace ( /"/g , '"' ) . replace ( /&/g , "&" ) } , htmlEncode : function ( e ) { return ! e ? e : String ( e ) . replace ( /&/g , "&" ) . replace ( /\"/g , """ ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) } , format : function ( e ) { var i = b . makeArray ( arguments ) . slice ( 1 ) ; if ( e === undefined ) e = "" ; return e . replace ( /\{(\d+)\}/g ,
function ( g , c ) { return i [ c ] } ) } , getCellIndex : function ( e ) { e = b ( e ) ; if ( e . is ( "tr" ) ) return - 1 ; e = ( ! e . is ( "td" ) && ! e . is ( "th" ) ? e . closest ( "td,th" ) : e ) [ 0 ] ; if ( b . browser . msie ) return b . inArray ( e , e . parentNode . cells ) ; return e . cellIndex } , stripHtml : function ( e ) { e += "" ; var i = /<("[^"]*"|'[^']*'|[^'">])*>/gi ; if ( e ) return ( e = e . replace ( i , "" ) ) && e !== " " && e !== " " ? e . replace ( /\"/g , "'" ) : "" ; else return e } , stripPref : function ( e , i ) { var g = Object . prototype . toString . call ( e ) . slice ( 8 , - 1 ) ; if ( g == "String" || g == "Number" ) { e = String ( e ) ; i = e !==
"" ? String ( i ) . replace ( String ( e ) , "" ) : i } return i } , stringToDoc : function ( e ) { var i ; if ( typeof e !== "string" ) return e ; try { i = ( new DOMParser ) . parseFromString ( e , "text/xml" ) } catch ( g ) { i = new ActiveXObject ( "Microsoft.XMLDOM" ) ; i . async = false ; i . loadXML ( e ) } return i && i . documentElement && i . documentElement . tagName != "parsererror" ? i : null } , parse : function ( e ) { if ( e . substr ( 0 , 9 ) == "while(1);" ) e = e . substr ( 9 ) ; if ( e . substr ( 0 , 2 ) == "/*" ) e = e . substr ( 2 , e . length - 4 ) ; e || ( e = "{}" ) ; return b . jgrid . useJSON === true && typeof JSON === "object" && typeof JSON . parse ===
"function" ? JSON . parse ( e ) : eval ( "(" + e + ")" ) } , parseDate : function ( e , i ) { var g = { m : 1 , d : 1 , y : 1970 , h : 0 , i : 0 , s : 0 , u : 0 } , c , h , k ; c = /[\\\/:_;.,\t\T\s-]/ ; if ( i && i !== null && i !== undefined ) { i = b . trim ( i ) ; i = i . split ( c ) ; e = e . split ( c ) ; var l = b . jgrid . formatter . date . monthNames , a = b . jgrid . formatter . date . AmPm , q = function ( x , y ) { if ( x === 0 ) { if ( y === 12 ) y = 0 } else if ( y !== 12 ) y += 12 ; return y } ; c = 0 ; for ( h = e . length ; c < h ; c ++ ) { if ( e [ c ] == "M" ) { k = b . inArray ( i [ c ] , l ) ; if ( k !== - 1 && k < 12 ) i [ c ] = k + 1 } if ( e [ c ] == "F" ) { k = b . inArray ( i [ c ] , l ) ; if ( k !== - 1 && k > 11 ) i [ c ] = k + 1 - 12 } if ( e [ c ] ==
"a" ) { k = b . inArray ( i [ c ] , a ) ; if ( k !== - 1 && k < 2 && i [ c ] == a [ k ] ) { i [ c ] = k ; g . h = q ( i [ c ] , g . h ) } } if ( e [ c ] == "A" ) { k = b . inArray ( i [ c ] , a ) ; if ( k !== - 1 && k > 1 && i [ c ] == a [ k ] ) { i [ c ] = k - 2 ; g . h = q ( i [ c ] , g . h ) } } if ( i [ c ] !== undefined ) g [ e [ c ] . toLowerCase ( ) ] = parseInt ( i [ c ] , 10 ) } g . m = parseInt ( g . m , 10 ) - 1 ; c = g . y ; if ( c >= 70 && c <= 99 ) g . y = 1900 + g . y ; else if ( c >= 0 && c <= 69 ) g . y = 2E3 + g . y } return new Date ( g . y , g . m , g . d , g . h , g . i , g . s , g . u ) } , jqID : function ( e ) { return String ( e ) . replace ( /[!"#$%&'()*+,.\/:;<=>?@\[\\\]\^`{|}~]/g , "\\$&" ) } , guid : 1 , uidPref : "jqg" , randId : function ( e ) { return ( e ?
e : b . jgrid . uidPref ) + b . jgrid . guid ++ } , getAccessor : function ( e , i ) { var g , c , h = [ ] , k ; if ( typeof i === "function" ) return i ( e ) ; g = e [ i ] ; if ( g === undefined ) try { if ( typeof i === "string" ) h = i . split ( "." ) ; if ( k = h . length ) for ( g = e ; g && k -- ; ) { c = h . shift ( ) ; g = g [ c ] } } catch ( l ) { } return g } , getXmlData : function ( e , i , g ) { var c = typeof i === "string" ? i . match ( /^(.*)\[(\w+)\]$/ ) : null ; if ( typeof i === "function" ) return i ( e ) ; if ( c && c [ 2 ] ) return c [ 1 ] ? b ( c [ 1 ] , e ) . attr ( c [ 2 ] ) : b ( e ) . attr ( c [ 2 ] ) ; else { e = b ( i , e ) ; if ( g ) return e ; return e . length > 0 ? b ( e ) . text ( ) : undefined } } ,
ajaxOptions : { } , from : function ( e ) { return new function ( i , g ) { if ( typeof i == "string" ) i = b . data ( i ) ; var c = this , h = i , k = true , l = false , a = g , q = /[\$,%]/g , x = null , y = null , E = 0 , I = false , M = "" , N = [ ] , V = true ; if ( typeof i == "object" && i . push ) { if ( i . length > 0 ) V = typeof i [ 0 ] != "object" ? false : true } else throw "data provides is not an array" ; this . _hasData = function ( ) { return h === null ? false : h . length === 0 ? false : true } ; this . _getStr = function ( o ) { var n = [ ] ; l && n . push ( "jQuery.trim(" ) ; n . push ( "String(" + o + ")" ) ; l && n . push ( ")" ) ; k || n . push ( ".toLowerCase()" ) ;
return n . join ( "" ) } ; this . _strComp = function ( o ) { return typeof o == "string" ? ".toString()" : "" } ; this . _group = function ( o , n ) { return { field : o . toString ( ) , unique : n , items : [ ] } } ; this . _toStr = function ( o ) { if ( l ) o = b . trim ( o ) ; k || ( o = o . toLowerCase ( ) ) ; return o = o . toString ( ) . replace ( /\\/g , "\\\\" ) . replace ( /\"/g , '\\"' ) } ; this . _funcLoop = function ( o ) { var n = [ ] ; b . each ( h , function ( t , F ) { n . push ( o ( F ) ) } ) ; return n } ; this . _append = function ( o ) { var n ; if ( a === null ) a = "" ; else a += M === "" ? " && " : M ; for ( n = 0 ; n < E ; n ++ ) a += "(" ; if ( I ) a += "!" ; a += "(" + o + ")" ; I = false ;
M = "" ; E = 0 } ; this . _setCommand = function ( o , n ) { x = o ; y = n } ; this . _resetNegate = function ( ) { I = false } ; this . _repeatCommand = function ( o , n ) { if ( x === null ) return c ; if ( o !== null && n !== null ) return x ( o , n ) ; if ( y === null ) return x ( o ) ; if ( ! V ) return x ( o ) ; return x ( y , o ) } ; this . _equals = function ( o , n ) { return c . _compare ( o , n , 1 ) === 0 } ; this . _compare = function ( o , n , t ) { if ( t === undefined ) t = 1 ; if ( o === undefined ) o = null ; if ( n === undefined ) n = null ; if ( o === null && n === null ) return 0 ; if ( o === null && n !== null ) return 1 ; if ( o !== null && n === null ) return - 1 ; if ( ! k && typeof o !==
"number" && typeof n !== "number" ) { o = String ( o ) . toLowerCase ( ) ; n = String ( n ) . toLowerCase ( ) } if ( o < n ) return - t ; if ( o > n ) return t ; return 0 } ; this . _performSort = function ( ) { if ( N . length !== 0 ) h = c . _doSort ( h , 0 ) } ; this . _doSort = function ( o , n ) { var t = N [ n ] . by , F = N [ n ] . dir , T = N [ n ] . type , J = N [ n ] . datefmt ; if ( n == N . length - 1 ) return c . _getOrder ( o , t , F , T , J ) ; n ++ ; t = c . _getGroup ( o , t , F , T , J ) ; F = [ ] ; for ( T = 0 ; T < t . length ; T ++ ) { J = c . _doSort ( t [ T ] . items , n ) ; for ( var D = 0 ; D < J . length ; D ++ ) F . push ( J [ D ] ) } return F } ; this . _getOrder = function ( o , n , t , F , T ) { var J = [ ] , D = [ ] , ca = t ==
"a" ? 1 : - 1 , X , fa ; if ( F === undefined ) F = "text" ; fa = F == "float" || F == "number" || F == "currency" || F == "numeric" ? function ( R ) { R = parseFloat ( String ( R ) . replace ( q , "" ) ) ; return isNaN ( R ) ? 0 : R } : F == "int" || F == "integer" ? function ( R ) { return R ? parseFloat ( String ( R ) . replace ( q , "" ) ) : 0 } : F == "date" || F == "datetime" ? function ( R ) { return b . jgrid . parseDate ( T , R ) . getTime ( ) } : b . isFunction ( F ) ? F : function ( R ) { R || ( R = "" ) ; return b . trim ( String ( R ) . toUpperCase ( ) ) } ; b . each ( o , function ( R , aa ) { X = n !== "" ? b . jgrid . getAccessor ( aa , n ) : aa ; if ( X === undefined ) X = "" ; X = fa ( X , aa ) ;
D . push ( { vSort : X , index : R } ) } ) ; D . sort ( function ( R , aa ) { R = R . vSort ; aa = aa . vSort ; return c . _compare ( R , aa , ca ) } ) ; F = 0 ; for ( var pa = o . length ; F < pa ; ) { t = D [ F ] . index ; J . push ( o [ t ] ) ; F ++ } return J } ; this . _getGroup = function ( o , n , t , F , T ) { var J = [ ] , D = null , ca = null , X ; b . each ( c . _getOrder ( o , n , t , F , T ) , function ( fa , pa ) { X = b . jgrid . getAccessor ( pa , n ) ; if ( X === undefined ) X = "" ; if ( ! c . _equals ( ca , X ) ) { ca = X ; D !== null && J . push ( D ) ; D = c . _group ( n , X ) } D . items . push ( pa ) } ) ; D !== null && J . push ( D ) ; return J } ; this . ignoreCase = function ( ) { k = false ; return c } ; this . useCase = function ( ) { k =
true ; return c } ; this . trim = function ( ) { l = true ; return c } ; this . noTrim = function ( ) { l = false ; return c } ; this . execute = function ( ) { var o = a , n = [ ] ; if ( o === null ) return c ; b . each ( h , function ( ) { eval ( o ) && n . push ( this ) } ) ; h = n ; return c } ; this . data = function ( ) { return h } ; this . select = function ( o ) { c . _performSort ( ) ; if ( ! c . _hasData ( ) ) return [ ] ; c . execute ( ) ; if ( b . isFunction ( o ) ) { var n = [ ] ; b . each ( h , function ( t , F ) { n . push ( o ( F ) ) } ) ; return n } return h } ; this . hasMatch = function ( ) { if ( ! c . _hasData ( ) ) return false ; c . execute ( ) ; return h . length > 0 } ; this . andNot =
function ( o , n , t ) { I = ! I ; return c . and ( o , n , t ) } ; this . orNot = function ( o , n , t ) { I = ! I ; return c . or ( o , n , t ) } ; this . not = function ( o , n , t ) { return c . andNot ( o , n , t ) } ; this . and = function ( o , n , t ) { M = " && " ; if ( o === undefined ) return c ; return c . _repeatCommand ( o , n , t ) } ; this . or = function ( o , n , t ) { M = " || " ; if ( o === undefined ) return c ; return c . _repeatCommand ( o , n , t ) } ; this . orBegin = function ( ) { E ++ ; return c } ; this . orEnd = function ( ) { if ( a !== null ) a += ")" ; return c } ; this . isNot = function ( o ) { I = ! I ; return c . is ( o ) } ; this . is = function ( o ) { c . _append ( "this." + o ) ; c . _resetNegate ( ) ;
return c } ; this . _compareValues = function ( o , n , t , F , T ) { var J ; J = V ? "jQuery.jgrid.getAccessor(this,'" + n + "')" : "this" ; if ( t === undefined ) t = null ; var D = t , ca = T . stype === undefined ? "text" : T . stype ; if ( t !== null ) switch ( ca ) { case "int" : case "integer" : D = isNaN ( Number ( D ) ) || D === "" ? "0" : D ; J = "parseInt(" + J + ",10)" ; D = "parseInt(" + D + ",10)" ; break ; case "float" : case "number" : case "numeric" : D = String ( D ) . replace ( q , "" ) ; D = isNaN ( Number ( D ) ) || D === "" ? "0" : D ; J = "parseFloat(" + J + ")" ; D = "parseFloat(" + D + ")" ; break ; case "date" : case "datetime" : D = String ( b . jgrid . parseDate ( T . newfmt ||
"Y-m-d" , D ) . getTime ( ) ) ; J = 'jQuery.jgrid.parseDate("' + T . srcfmt + '",' + J + ").getTime()" ; break ; default : J = c . _getStr ( J ) ; D = c . _getStr ( '"' + c . _toStr ( D ) + '"' ) } c . _append ( J + " " + F + " " + D ) ; c . _setCommand ( o , n ) ; c . _resetNegate ( ) ; return c } ; this . equals = function ( o , n , t ) { return c . _compareValues ( c . equals , o , n , "==" , t ) } ; this . notEquals = function ( o , n , t ) { return c . _compareValues ( c . equals , o , n , "!==" , t ) } ; this . isNull = function ( o , n , t ) { return c . _compareValues ( c . equals , o , null , "===" , t ) } ; this . greater = function ( o , n , t ) { return c . _compareValues ( c . greater ,
o , n , ">" , t ) } ; this . less = function ( o , n , t ) { return c . _compareValues ( c . less , o , n , "<" , t ) } ; this . greaterOrEquals = function ( o , n , t ) { return c . _compareValues ( c . greaterOrEquals , o , n , ">=" , t ) } ; this . lessOrEquals = function ( o , n , t ) { return c . _compareValues ( c . lessOrEquals , o , n , "<=" , t ) } ; this . startsWith = function ( o , n ) { var t = n === undefined || n === null ? o : n ; t = l ? b . trim ( t . toString ( ) ) . length : t . toString ( ) . length ; if ( V ) c . _append ( c . _getStr ( "jQuery.jgrid.getAccessor(this,'" + o + "')" ) + ".substr(0," + t + ") == " + c . _getStr ( '"' + c . _toStr ( n ) + '"' ) ) ; else { t =
l ? b . trim ( n . toString ( ) ) . length : n . toString ( ) . length ; c . _append ( c . _getStr ( "this" ) + ".substr(0," + t + ") == " + c . _getStr ( '"' + c . _toStr ( o ) + '"' ) ) } c . _setCommand ( c . startsWith , o ) ; c . _resetNegate ( ) ; return c } ; this . endsWith = function ( o , n ) { var t = n === undefined || n === null ? o : n ; t = l ? b . trim ( t . toString ( ) ) . length : t . toString ( ) . length ; V ? c . _append ( c . _getStr ( "jQuery.jgrid.getAccessor(this,'" + o + "')" ) + ".substr(" + c . _getStr ( "jQuery.jgrid.getAccessor(this,'" + o + "')" ) + ".length-" + t + "," + t + ') == "' + c . _toStr ( n ) + '"' ) : c . _append ( c . _getStr ( "this" ) +
".substr(" + c . _getStr ( "this" ) + '.length-"' + c . _toStr ( o ) + '".length,"' + c . _toStr ( o ) + '".length) == "' + c . _toStr ( o ) + '"' ) ; c . _setCommand ( c . endsWith , o ) ; c . _resetNegate ( ) ; return c } ; this . contains = function ( o , n ) { V ? c . _append ( c . _getStr ( "jQuery.jgrid.getAccessor(this,'" + o + "')" ) + '.indexOf("' + c . _toStr ( n ) + '",0) > -1' ) : c . _append ( c . _getStr ( "this" ) + '.indexOf("' + c . _toStr ( o ) + '",0) > -1' ) ; c . _setCommand ( c . contains , o ) ; c . _resetNegate ( ) ; return c } ; this . groupBy = function ( o , n , t , F ) { if ( ! c . _hasData ( ) ) return null ; return c . _getGroup ( h , o ,
n , t , F ) } ; this . orderBy = function ( o , n , t , F ) { n = n === undefined || n === null ? "a" : b . trim ( n . toString ( ) . toLowerCase ( ) ) ; if ( t === null || t === undefined ) t = "text" ; if ( F === null || F === undefined ) F = "Y-m-d" ; if ( n == "desc" || n == "descending" ) n = "d" ; if ( n == "asc" || n == "ascending" ) n = "a" ; N . push ( { by : o , dir : n , type : t , datefmt : F } ) ; return c } ; return c } ( e , null ) } , extend : function ( e ) { b . extend ( b . fn . jqGrid , e ) ; this . no _legacy _api || b . fn . extend ( e ) } } ) ; b . fn . jqGrid = function ( e ) { if ( typeof e == "string" ) { var i = b . jgrid . getAccessor ( b . fn . jqGrid , e ) ; if ( ! i ) throw "jqGrid - No such method: " +
e ; var g = b . makeArray ( arguments ) . slice ( 1 ) ; return i . apply ( this , g ) } return this . each ( function ( ) { if ( ! this . grid ) { var c = b . extend ( true , { url : "" , height : 150 , page : 1 , rowNum : 20 , rowTotal : null , records : 0 , pager : "" , pgbuttons : true , pginput : true , colModel : [ ] , rowList : [ ] , colNames : [ ] , sortorder : "asc" , sortname : "" , datatype : "xml" , mtype : "GET" , altRows : false , selarrrow : [ ] , savedRow : [ ] , shrinkToFit : true , xmlReader : { } , jsonReader : { } , subGrid : false , subGridModel : [ ] , reccount : 0 , lastpage : 0 , lastsort : 0 , selrow : null , beforeSelectRow : null , onSelectRow : null ,
onSortCol : null , ondblClickRow : null , onRightClickRow : null , onPaging : null , onSelectAll : null , loadComplete : null , gridComplete : null , loadError : null , loadBeforeSend : null , afterInsertRow : null , beforeRequest : null , beforeProcessing : null , onHeaderClick : null , viewrecords : false , loadonce : false , multiselect : false , multikey : false , editurl : null , search : false , caption : "" , hidegrid : true , hiddengrid : false , postData : { } , userData : { } , treeGrid : false , treeGridModel : "nested" , treeReader : { } , treeANode : - 1 , ExpandColumn : null , tree _root _level : 0 , prmNames : { page : "page" ,
rows : "rows" , sort : "sidx" , order : "sord" , search : "_search" , nd : "nd" , id : "id" , oper : "oper" , editoper : "edit" , addoper : "add" , deloper : "del" , subgridid : "id" , npage : null , totalrows : "totalrows" } , forceFit : false , gridstate : "visible" , cellEdit : false , cellsubmit : "remote" , nv : 0 , loadui : "enable" , toolbar : [ false , "" ] , scroll : false , multiboxonly : false , deselectAfterSort : true , scrollrows : false , autowidth : false , scrollOffset : 18 , cellLayout : 5 , subGridWidth : 20 , multiselectWidth : 20 , gridview : false , rownumWidth : 25 , rownumbers : false , pagerpos : "center" ,
recordpos : "right" , footerrow : false , userDataOnFooter : false , hoverrows : true , altclass : "ui-priority-secondary" , viewsortcols : [ false , "vertical" , true ] , resizeclass : "" , autoencode : false , remapColumns : [ ] , ajaxGridOptions : { } , direction : "ltr" , toppager : false , headertitles : false , scrollTimeout : 40 , data : [ ] , _index : { } , grouping : false , groupingView : { groupField : [ ] , groupOrder : [ ] , groupText : [ ] , groupColumnShow : [ ] , groupSummary : [ ] , showSummaryOnHide : false , sortitems : [ ] , sortnames : [ ] , groupDataSorted : false , summary : [ ] , summaryval : [ ] , plusicon : "ui-icon-circlesmall-plus" ,
minusicon : "ui-icon-circlesmall-minus" } , ignoreCase : false , cmTemplate : { } , idPrefix : "" } , b . jgrid . defaults , e || { } ) , h = { headers : [ ] , cols : [ ] , footers : [ ] , dragStart : function ( d , f , j ) { this . resizing = { idx : d , startX : f . clientX , sOL : j [ 0 ] } ; this . hDiv . style . cursor = "col-resize" ; this . curGbox = b ( "#rs_m" + b . jgrid . jqID ( c . id ) , "#gbox_" + b . jgrid . jqID ( c . id ) ) ; this . curGbox . css ( { display : "block" , left : j [ 0 ] , top : j [ 1 ] , height : j [ 2 ] } ) ; b . isFunction ( c . resizeStart ) && c . resizeStart . call ( this , f , d ) ; document . onselectstart = function ( ) { return false } } , dragMove : function ( d ) { if ( this . resizing ) { var f =
d . clientX - this . resizing . startX ; d = this . headers [ this . resizing . idx ] ; var j = c . direction === "ltr" ? d . width + f : d . width - f , m ; if ( j > 33 ) { this . curGbox . css ( { left : this . resizing . sOL + f } ) ; if ( c . forceFit === true ) { m = this . headers [ this . resizing . idx + c . nv ] ; f = c . direction === "ltr" ? m . width - f : m . width + f ; if ( f > 33 ) { d . newWidth = j ; m . newWidth = f } } else { this . newWidth = c . direction === "ltr" ? c . tblwidth + f : c . tblwidth - f ; d . newWidth = j } } } } , dragEnd : function ( ) { this . hDiv . style . cursor = "default" ; if ( this . resizing ) { var d = this . resizing . idx , f = this . headers [ d ] . newWidth ||
this . headers [ d ] . width ; f = parseInt ( f , 10 ) ; this . resizing = false ; b ( "#rs_m" + b . jgrid . jqID ( c . id ) ) . css ( "display" , "none" ) ; c . colModel [ d ] . width = f ; this . headers [ d ] . width = f ; this . headers [ d ] . el . style . width = f + "px" ; this . cols [ d ] . style . width = f + "px" ; if ( this . footers . length > 0 ) this . footers [ d ] . style . width = f + "px" ; if ( c . forceFit === true ) { f = this . headers [ d + c . nv ] . newWidth || this . headers [ d + c . nv ] . width ; this . headers [ d + c . nv ] . width = f ; this . headers [ d + c . nv ] . el . style . width = f + "px" ; this . cols [ d + c . nv ] . style . width = f + "px" ; if ( this . footers . length >
0 ) this . footers [ d + c . nv ] . style . width = f + "px" ; c . colModel [ d + c . nv ] . width = f } else { c . tblwidth = this . newWidth || c . tblwidth ; b ( "table:first" , this . bDiv ) . css ( "width" , c . tblwidth + "px" ) ; b ( "table:first" , this . hDiv ) . css ( "width" , c . tblwidth + "px" ) ; this . hDiv . scrollLeft = this . bDiv . scrollLeft ; if ( c . footerrow ) { b ( "table:first" , this . sDiv ) . css ( "width" , c . tblwidth + "px" ) ; this . sDiv . scrollLeft = this . bDiv . scrollLeft } } b . isFunction ( c . resizeStop ) && c . resizeStop . call ( this , f , d ) } this . curGbox = null ; document . onselectstart = function ( ) { return true } } ,
populateVisible : function ( ) { h . timer && clearTimeout ( h . timer ) ; h . timer = null ; var d = b ( h . bDiv ) . height ( ) ; if ( d ) { var f = b ( "table:first" , h . bDiv ) , j , m ; if ( f [ 0 ] . rows . length ) try { m = ( j = f [ 0 ] . rows [ 1 ] ) ? b ( j ) . outerHeight ( ) || h . prevRowHeight : h . prevRowHeight } catch ( p ) { m = h . prevRowHeight } if ( m ) { h . prevRowHeight = m ; var C = c . rowNum ; j = h . scrollTop = h . bDiv . scrollTop ; var s = Math . round ( f . position ( ) . top ) - j , A = s + f . height ( ) ; m *= C ; var z , u , w ; if ( A < d && s <= 0 && ( c . lastpage === undefined || parseInt ( ( A + j + m - 1 ) / m , 10 ) <= c . lastpage ) ) { u = parseInt ( ( d - A + m - 1 ) / m , 10 ) ; if ( A >=
0 || u < 2 || c . scroll === true ) { z = Math . round ( ( A + j ) / m ) + 1 ; s = - 1 } else s = 1 } if ( s > 0 ) { z = parseInt ( j / m , 10 ) + 1 ; u = parseInt ( ( j + d ) / m , 10 ) + 2 - z ; w = true } if ( u ) if ( ! ( c . lastpage && z > c . lastpage || c . lastpage == 1 || z === c . page && z === c . lastpage ) ) if ( h . hDiv . loading ) h . timer = setTimeout ( h . populateVisible , c . scrollTimeout ) ; else { c . page = z ; if ( w ) { h . selectionPreserver ( f [ 0 ] ) ; h . emptyRows ( h . bDiv , false , false ) } h . populate ( u ) } } } } , scrollGrid : function ( d ) { if ( c . scroll ) { var f = h . bDiv . scrollTop ; if ( h . scrollTop === undefined ) h . scrollTop = 0 ; if ( f != h . scrollTop ) { h . scrollTop =
f ; h . timer && clearTimeout ( h . timer ) ; h . timer = setTimeout ( h . populateVisible , c . scrollTimeout ) } } h . hDiv . scrollLeft = h . bDiv . scrollLeft ; if ( c . footerrow ) h . sDiv . scrollLeft = h . bDiv . scrollLeft ; d && d . stopPropagation ( ) } , selectionPreserver : function ( d ) { var f = d . p , j = f . selrow , m = f . selarrrow ? b . makeArray ( f . selarrrow ) : null , p = d . grid . bDiv . scrollLeft , C = f . gridComplete ; f . gridComplete = function ( ) { f . selrow = null ; f . selarrrow = [ ] ; if ( f . multiselect && m && m . length > 0 ) for ( var s = 0 ; s < m . length ; s ++ ) m [ s ] != j && b ( d ) . jqGrid ( "setSelection" , m [ s ] , false ) ; j &&
b ( d ) . jqGrid ( "setSelection" , j , false ) ; d . grid . bDiv . scrollLeft = p ; f . gridComplete = C ; f . gridComplete && C ( ) } } } ; if ( this . tagName . toUpperCase ( ) != "TABLE" ) alert ( "Element is not a table" ) ; else { b ( this ) . empty ( ) . attr ( "tabindex" , "1" ) ; this . p = c ; this . p . useProp = ! ! b . fn . prop ; var k , l , a ; if ( this . p . colNames . length === 0 ) for ( k = 0 ; k < this . p . colModel . length ; k ++ ) this . p . colNames [ k ] = this . p . colModel [ k ] . label || this . p . colModel [ k ] . name ; if ( this . p . colNames . length !== this . p . colModel . length ) alert ( b . jgrid . errors . model ) ; else { var q = b ( "<div class='ui-jqgrid-view'></div>" ) ,
x , y = b . browser . msie ? true : false , E = b . browser . webkit || b . browser . safari ? true : false ; a = this ; a . p . direction = b . trim ( a . p . direction . toLowerCase ( ) ) ; if ( b . inArray ( a . p . direction , [ "ltr" , "rtl" ] ) == - 1 ) a . p . direction = "ltr" ; l = a . p . direction ; b ( q ) . insertBefore ( this ) ; b ( this ) . appendTo ( q ) . removeClass ( "scroll" ) ; var I = b ( "<div class='ui-jqgrid ui-widget ui-widget-content ui-corner-all'></div>" ) ; b ( I ) . insertBefore ( q ) . attr ( { id : "gbox_" + this . id , dir : l } ) ; b ( q ) . appendTo ( I ) . attr ( "id" , "gview_" + this . id ) ; x = y && b . browser . version <= 6 ? '<iframe style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');" src="javascript:false;"></iframe>' :
"" ; b ( "<div class='ui-widget-overlay jqgrid-overlay' id='lui_" + this . id + "'></div>" ) . append ( x ) . insertBefore ( q ) ; b ( "<div class='loading ui-state-default ui-state-active' id='load_" + this . id + "'>" + this . p . loadtext + "</div>" ) . insertBefore ( q ) ; b ( this ) . attr ( { cellspacing : "0" , cellpadding : "0" , border : "0" , role : "grid" , "aria-multiselectable" : ! ! this . p . multiselect , "aria-labelledby" : "gbox_" + this . id } ) ; var M = function ( d , f ) { d = parseInt ( d , 10 ) ; return isNaN ( d ) ? f ? f : 0 : d } , N = function ( d , f , j , m , p , C ) { var s = a . p . colModel [ d ] , A = s . align , z = 'style="' ,
u = s . classes , w = s . name , r = [ ] ; if ( A ) z += "text-align:" + A + ";" ; if ( s . hidden === true ) z += "display:none;" ; if ( f === 0 ) z += "width: " + h . headers [ d ] . width + "px;" ; else if ( s . cellattr && b . isFunction ( s . cellattr ) ) if ( ( d = s . cellattr . call ( a , p , j , m , s , C ) ) && typeof d === "string" ) { d = d . replace ( /style/i , "style" ) . replace ( /title/i , "title" ) ; if ( d . indexOf ( "title" ) > - 1 ) s . title = false ; if ( d . indexOf ( "class" ) > - 1 ) u = undefined ; r = d . split ( "style" ) ; if ( r . length === 2 ) { r [ 1 ] = b . trim ( r [ 1 ] . replace ( "=" , "" ) ) ; if ( r [ 1 ] . indexOf ( "'" ) === 0 || r [ 1 ] . indexOf ( '"' ) === 0 ) r [ 1 ] = r [ 1 ] . substring ( 1 ) ;
z += r [ 1 ] . replace ( /'/gi , '"' ) } else z += '"' } if ( ! r . length ) { r [ 0 ] = "" ; z += '"' } z += ( u !== undefined ? ' class="' + u + '"' : "" ) + ( s . title && j ? ' title="' + b . jgrid . stripHtml ( j ) + '"' : "" ) ; z += ' aria-describedby="' + a . p . id + "_" + w + '"' ; return z + r [ 0 ] } , V = function ( d ) { return d === undefined || d === null || d === "" ? " " : a . p . autoencode ? b . jgrid . htmlEncode ( d ) : d + "" } , o = function ( d , f , j , m , p ) { var C = a . p . colModel [ j ] ; if ( typeof C . formatter !== "undefined" ) { d = { rowId : d , colModel : C , gid : a . p . id , pos : j } ; f = b . isFunction ( C . formatter ) ? C . formatter . call ( a , f , d , m , p ) : b . fmatter ?
b . fn . fmatter ( C . formatter , f , d , m , p ) : V ( f ) } else f = V ( f ) ; return f } , n = function ( d , f , j , m , p ) { f = o ( d , f , j , p , "add" ) ; return '<td role="gridcell" ' + N ( j , m , f , p , d , true ) + ">" + f + "</td>" } , t = function ( d , f , j ) { var m = '<input role="checkbox" type="checkbox" id="jqg_' + a . p . id + "_" + d + '" class="cbox" name="jqg_' + a . p . id + "_" + d + '"/>' ; return '<td role="gridcell" ' + N ( f , j , "" , null , d , true ) + ">" + m + "</td>" } , F = function ( d , f , j , m ) { j = ( parseInt ( j , 10 ) - 1 ) * parseInt ( m , 10 ) + 1 + f ; return '<td role="gridcell" class="ui-state-default jqgrid-rownum" ' + N ( d , f , j , null ,
f , true ) + ">" + j + "</td>" } , T = function ( d ) { var f , j = [ ] , m = 0 , p ; for ( p = 0 ; p < a . p . colModel . length ; p ++ ) { f = a . p . colModel [ p ] ; if ( f . name !== "cb" && f . name !== "subgrid" && f . name !== "rn" ) { j [ m ] = d == "local" ? f . name : d == "xml" || d === "xmlstring" ? f . xmlmap || f . name : f . jsonmap || f . name ; m ++ } } return j } , J = function ( d ) { var f = a . p . remapColumns ; if ( ! f || ! f . length ) f = b . map ( a . p . colModel , function ( j , m ) { return m } ) ; if ( d ) f = b . map ( f , function ( j ) { return j < d ? null : j - d } ) ; return f } , D = function ( d , f , j ) { if ( a . p . deepempty ) b ( "#" + b . jgrid . jqID ( a . p . id ) + " tbody:first tr:gt(0)" ) . remove ( ) ;
else { var m = b ( "#" + b . jgrid . jqID ( a . p . id ) + " tbody:first tr:first" ) [ 0 ] ; b ( "#" + b . jgrid . jqID ( a . p . id ) + " tbody:first" ) . empty ( ) . append ( m ) } if ( f && a . p . scroll ) { b ( ">div:first" , d ) . css ( { height : "auto" } ) . children ( "div:first" ) . css ( { height : 0 , display : "none" } ) ; d . scrollTop = 0 } if ( j === true ) if ( a . p . treeGrid === true ) { a . p . data = [ ] ; a . p . _index = { } } } , ca = function ( ) { var d = a . p . data . length , f , j , m ; f = a . p . rownumbers === true ? 1 : 0 ; j = a . p . multiselect === true ? 1 : 0 ; m = a . p . subGrid === true ? 1 : 0 ; f = a . p . keyIndex === false || a . p . loadonce === true ? a . p . localReader . id :
a . p . colModel [ a . p . keyIndex + j + m + f ] . name ; for ( j = 0 ; j < d ; j ++ ) { m = b . jgrid . getAccessor ( a . p . data [ j ] , f ) ; a . p . _index [ m ] = j } } , X = function ( d , f , j , m , p ) { var C = new Date , s = a . p . datatype != "local" && a . p . loadonce || a . p . datatype == "xmlstring" , A = a . p . xmlReader , z = a . p . datatype == "local" ? "local" : "xml" ; if ( s ) { a . p . data = [ ] ; a . p . _index = { } ; a . p . localReader . id = "_id_" } a . p . reccount = 0 ; if ( b . isXMLDoc ( d ) ) { if ( a . p . treeANode === - 1 && ! a . p . scroll ) { D ( f , false , true ) ; j = 1 } else j = j > 1 ? j : 1 ; var u , w , r = 0 , G , O = 0 , S = 0 , K = 0 , L , Z = [ ] , P , v = { } , B , H , U = [ ] , ia = a . p . altRows === true ? " " +
a . p . altclass : "" ; A . repeatitems || ( Z = T ( z ) ) ; L = a . p . keyIndex === false ? A . id : a . p . keyIndex ; if ( Z . length > 0 && ! isNaN ( L ) ) { if ( a . p . remapColumns && a . p . remapColumns . length ) L = b . inArray ( L , a . p . remapColumns ) ; L = Z [ L ] } z = ( L + "" ) . indexOf ( "[" ) === - 1 ? Z . length ? function ( ga , ba ) { return b ( L , ga ) . text ( ) || ba } : function ( ga , ba ) { return b ( A . cell , ga ) . eq ( L ) . text ( ) || ba } : function ( ga , ba ) { return ga . getAttribute ( L . replace ( /[\[\]]/g , "" ) ) || ba } ; a . p . userData = { } ; a . p . page = b . jgrid . getXmlData ( d , A . page ) || 0 ; a . p . lastpage = b . jgrid . getXmlData ( d , A . total ) ; if ( a . p . lastpage ===
undefined ) a . p . lastpage = 1 ; a . p . records = b . jgrid . getXmlData ( d , A . records ) || 0 ; if ( b . isFunction ( A . userdata ) ) a . p . userData = A . userdata . call ( a , d ) || { } ; else b . jgrid . getXmlData ( d , A . userdata , true ) . each ( function ( ) { a . p . userData [ this . getAttribute ( "name" ) ] = b ( this ) . text ( ) } ) ; d = b . jgrid . getXmlData ( d , A . root , true ) ; ( d = b . jgrid . getXmlData ( d , A . row , true ) ) || ( d = [ ] ) ; var $ = d . length , W = 0 , ha = { } , ja = parseInt ( a . p . rowNum , 10 ) ; if ( $ > 0 && a . p . page <= 0 ) a . p . page = 1 ; if ( d && $ ) { var qa = a . p . scroll ? b . jgrid . randId ( ) : 1 ; if ( p ) ja *= p + 1 ; p = b . isFunction ( a . p . afterInsertRow ) ;
var ya = "" ; if ( a . p . grouping && a . p . groupingView . groupCollapse === true ) ya = ' style="display:none;"' ; for ( ; W < $ ; ) { B = d [ W ] ; H = z ( B , qa + W ) ; H = a . p . idPrefix + H ; u = j === 0 ? 0 : j + 1 ; u = ( u + W ) % 2 == 1 ? ia : "" ; U . push ( "<tr" + ya + ' id="' + H + '" tabindex="-1" role="row" class ="ui-widget-content jqgrow ui-row-' + a . p . direction + "" + u + '">' ) ; if ( a . p . rownumbers === true ) { U . push ( F ( 0 , W , a . p . page , a . p . rowNum ) ) ; K = 1 } if ( a . p . multiselect === true ) { U . push ( t ( H , K , W ) ) ; O = 1 } if ( a . p . subGrid === true ) { U . push ( b ( a ) . jqGrid ( "addSubGridCell" , O + K , W + j ) ) ; S = 1 } if ( A . repeatitems ) { P ||
( P = J ( O + S + K ) ) ; var Ca = b . jgrid . getXmlData ( B , A . cell , true ) ; b . each ( P , function ( ga ) { var ba = Ca [ this ] ; if ( ! ba ) return false ; G = ba . textContent || ba . text ; v [ a . p . colModel [ ga + O + S + K ] . name ] = G ; U . push ( n ( H , G , ga + O + S + K , W + j , B ) ) } ) } else for ( u = 0 ; u < Z . length ; u ++ ) { G = b . jgrid . getXmlData ( B , Z [ u ] ) ; v [ a . p . colModel [ u + O + S + K ] . name ] = G ; U . push ( n ( H , G , u + O + S + K , W + j , B ) ) } U . push ( "</tr>" ) ; if ( a . p . grouping ) { u = a . p . groupingView . groupField . length ; for ( var Da = [ ] , za = 0 ; za < u ; za ++ ) Da . push ( v [ a . p . groupingView . groupField [ za ] ] ) ; ha = b ( a ) . jqGrid ( "groupingPrepare" , U , Da ,
ha , v ) ; U = [ ] } if ( s || a . p . treeGrid === true ) { v . _id _ = H ; a . p . data . push ( v ) ; a . p . _index [ H ] = a . p . data . length - 1 } if ( a . p . gridview === false ) { b ( "tbody:first" , f ) . append ( U . join ( "" ) ) ; p && a . p . afterInsertRow . call ( a , H , v , B ) ; U = [ ] } v = { } ; r ++ ; W ++ ; if ( r == ja ) break } } if ( a . p . gridview === true ) { w = a . p . treeANode > - 1 ? a . p . treeANode : 0 ; if ( a . p . grouping ) { b ( a ) . jqGrid ( "groupingRender" , ha , a . p . colModel . length ) ; ha = null } else a . p . treeGrid === true && w > 0 ? b ( a . rows [ w ] ) . after ( U . join ( "" ) ) : b ( "tbody:first" , f ) . append ( U . join ( "" ) ) } if ( a . p . subGrid === true ) try { b ( a ) . jqGrid ( "addSubGrid" ,
O + K ) } catch ( Ka ) { } a . p . totaltime = new Date - C ; if ( r > 0 ) if ( a . p . records === 0 ) a . p . records = $ ; U = null ; if ( a . p . treeGrid === true ) try { b ( a ) . jqGrid ( "setTreeNode" , w + 1 , r + w + 1 ) } catch ( La ) { } if ( ! a . p . treeGrid && ! a . p . scroll ) a . grid . bDiv . scrollTop = 0 ; a . p . reccount = r ; a . p . treeANode = - 1 ; a . p . userDataOnFooter && b ( a ) . jqGrid ( "footerData" , "set" , a . p . userData , true ) ; if ( s ) { a . p . records = $ ; a . p . lastpage = Math . min ( a . p . page , Math . ceil ( $ / ja ) ) } m || a . updatepager ( false , true ) ; if ( s ) for ( ; r < $ ; ) { B = d [ r ] ; H = z ( B , r ) ; H = a . p . idPrefix + H ; if ( A . repeatitems ) { P || ( P = J ( O + S + K ) ) ;
var Ha = b . jgrid . getXmlData ( B , A . cell , true ) ; b . each ( P , function ( ga ) { var ba = Ha [ this ] ; if ( ! ba ) return false ; G = ba . textContent || ba . text ; v [ a . p . colModel [ ga + O + S + K ] . name ] = G } ) } else for ( u = 0 ; u < Z . length ; u ++ ) { G = b . jgrid . getXmlData ( B , Z [ u ] ) ; v [ a . p . colModel [ u + O + S + K ] . name ] = G } v . _id _ = H ; a . p . data . push ( v ) ; a . p . _index [ H ] = a . p . data . length - 1 ; v = { } ; r ++ } } } , fa = function ( d , f , j , m , p ) { var C = new Date ; if ( d ) { if ( a . p . treeANode === - 1 && ! a . p . scroll ) { D ( f , false , true ) ; j = 1 } else j = j > 1 ? j : 1 ; var s , A = a . p . datatype != "local" && a . p . loadonce || a . p . datatype == "jsonstring" ;
if ( A ) { a . p . data = [ ] ; a . p . _index = { } ; a . p . localReader . id = "_id_" } a . p . reccount = 0 ; if ( a . p . datatype == "local" ) { f = a . p . localReader ; s = "local" } else { f = a . p . jsonReader ; s = "json" } var z = 0 , u , w , r = [ ] , G , O = 0 , S = 0 , K = 0 , L , Z , P = { } , v , B , H = [ ] , U = a . p . altRows === true ? " " + a . p . altclass : "" ; a . p . page = b . jgrid . getAccessor ( d , f . page ) || 0 ; L = b . jgrid . getAccessor ( d , f . total ) ; a . p . lastpage = L === undefined ? 1 : L ; a . p . records = b . jgrid . getAccessor ( d , f . records ) || 0 ; a . p . userData = b . jgrid . getAccessor ( d , f . userdata ) || { } ; f . repeatitems || ( G = r = T ( s ) ) ; s = a . p . keyIndex === false ?
f . id : a . p . keyIndex ; if ( r . length > 0 && ! isNaN ( s ) ) { if ( a . p . remapColumns && a . p . remapColumns . length ) s = b . inArray ( s , a . p . remapColumns ) ; s = r [ s ] } ( Z = b . jgrid . getAccessor ( d , f . root ) ) || ( Z = [ ] ) ; L = Z . length ; d = 0 ; if ( L > 0 && a . p . page <= 0 ) a . p . page = 1 ; var ia = parseInt ( a . p . rowNum , 10 ) , $ = a . p . scroll ? b . jgrid . randId ( ) : 1 ; if ( p ) ia *= p + 1 ; var W = b . isFunction ( a . p . afterInsertRow ) , ha = { } , ja = "" ; if ( a . p . grouping && a . p . groupingView . groupCollapse === true ) ja = ' style="display:none;"' ; for ( ; d < L ; ) { p = Z [ d ] ; B = b . jgrid . getAccessor ( p , s ) ; if ( B === undefined ) { B = $ + d ; if ( r . length ===
0 ) if ( f . cell ) { u = b . jgrid . getAccessor ( p , f . cell ) ; B = u !== undefined ? u [ s ] || B : B } } B = a . p . idPrefix + B ; u = j === 1 ? 0 : j ; u = ( u + d ) % 2 == 1 ? U : "" ; H . push ( "<tr" + ja + ' id="' + B + '" tabindex="-1" role="row" class= "ui-widget-content jqgrow ui-row-' + a . p . direction + "" + u + '">' ) ; if ( a . p . rownumbers === true ) { H . push ( F ( 0 , d , a . p . page , a . p . rowNum ) ) ; K = 1 } if ( a . p . multiselect ) { H . push ( t ( B , K , d ) ) ; O = 1 } if ( a . p . subGrid ) { H . push ( b ( a ) . jqGrid ( "addSubGridCell" , O + K , d + j ) ) ; S = 1 } if ( f . repeatitems ) { if ( f . cell ) p = b . jgrid . getAccessor ( p , f . cell ) ; G || ( G = J ( O + S + K ) ) } for ( w = 0 ; w < G . length ; w ++ ) { u =
b . jgrid . getAccessor ( p , G [ w ] ) ; H . push ( n ( B , u , w + O + S + K , d + j , p ) ) ; P [ a . p . colModel [ w + O + S + K ] . name ] = u } H . push ( "</tr>" ) ; if ( a . p . grouping ) { u = a . p . groupingView . groupField . length ; w = [ ] ; for ( var qa = 0 ; qa < u ; qa ++ ) w . push ( P [ a . p . groupingView . groupField [ qa ] ] ) ; ha = b ( a ) . jqGrid ( "groupingPrepare" , H , w , ha , P ) ; H = [ ] } if ( A || a . p . treeGrid === true ) { P . _id _ = B ; a . p . data . push ( P ) ; a . p . _index [ B ] = a . p . data . length - 1 } if ( a . p . gridview === false ) { b ( "#" + b . jgrid . jqID ( a . p . id ) + " tbody:first" ) . append ( H . join ( "" ) ) ; W && a . p . afterInsertRow . call ( a , B , P , p ) ; H = [ ] } P = { } ; z ++ ; d ++ ;
if ( z == ia ) break } if ( a . p . gridview === true ) { v = a . p . treeANode > - 1 ? a . p . treeANode : 0 ; if ( a . p . grouping ) b ( a ) . jqGrid ( "groupingRender" , ha , a . p . colModel . length ) ; else a . p . treeGrid === true && v > 0 ? b ( a . rows [ v ] ) . after ( H . join ( "" ) ) : b ( "#" + b . jgrid . jqID ( a . p . id ) + " tbody:first" ) . append ( H . join ( "" ) ) } if ( a . p . subGrid === true ) try { b ( a ) . jqGrid ( "addSubGrid" , O + K ) } catch ( ya ) { } a . p . totaltime = new Date - C ; if ( z > 0 ) if ( a . p . records === 0 ) a . p . records = L ; if ( a . p . treeGrid === true ) try { b ( a ) . jqGrid ( "setTreeNode" , v + 1 , z + v + 1 ) } catch ( Ca ) { } if ( ! a . p . treeGrid && ! a . p . scroll ) a . grid . bDiv . scrollTop =
0 ; a . p . reccount = z ; a . p . treeANode = - 1 ; a . p . userDataOnFooter && b ( a ) . jqGrid ( "footerData" , "set" , a . p . userData , true ) ; if ( A ) { a . p . records = L ; a . p . lastpage = Math . min ( a . p . page , Math . ceil ( L / ia ) ) } m || a . updatepager ( false , true ) ; if ( A ) for ( ; z < L && Z [ z ] ; ) { p = Z [ z ] ; B = b . jgrid . getAccessor ( p , s ) ; if ( B === undefined ) { B = $ + z ; if ( r . length === 0 ) if ( f . cell ) B = b . jgrid . getAccessor ( p , f . cell ) [ s ] || B } if ( p ) { B = a . p . idPrefix + B ; if ( f . repeatitems ) { if ( f . cell ) p = b . jgrid . getAccessor ( p , f . cell ) ; G || ( G = J ( O + S + K ) ) } for ( w = 0 ; w < G . length ; w ++ ) { u = b . jgrid . getAccessor ( p , G [ w ] ) ; P [ a . p . colModel [ w +
O + S + K ] . name ] = u } P . _id _ = B ; a . p . data . push ( P ) ; a . p . _index [ B ] = a . p . data . length - 1 ; P = { } } z ++ } } } , pa = function ( ) { function d ( v ) { var B = 0 , H , U , ia , $ , W ; if ( v . groups !== undefined ) { ( U = v . groups . length && v . groupOp . toString ( ) . toUpperCase ( ) === "OR" ) && r . orBegin ( ) ; for ( H = 0 ; H < v . groups . length ; H ++ ) { B > 0 && U && r . or ( ) ; try { d ( v . groups [ H ] ) } catch ( ha ) { alert ( ha ) } B ++ } U && r . orEnd ( ) } if ( v . rules !== undefined ) { if ( B > 0 ) { U = r . select ( ) ; r = b . jgrid . from ( U ) ; if ( a . p . ignoreCase ) r = r . ignoreCase ( ) } try { ( ia = v . rules . length && v . groupOp . toString ( ) . toUpperCase ( ) === "OR" ) &&
r . orBegin ( ) ; for ( H = 0 ; H < v . rules . length ; H ++ ) { W = v . rules [ H ] ; $ = v . groupOp . toString ( ) . toUpperCase ( ) ; if ( w [ W . op ] && W . field ) { if ( B > 0 && $ && $ === "OR" ) r = r . or ( ) ; r = w [ W . op ] ( r , $ ) ( W . field , W . data , m [ W . field ] ) } B ++ } ia && r . orEnd ( ) } catch ( ja ) { alert ( ja ) } } } var f , j = false , m = { } , p = [ ] , C = [ ] , s , A , z ; if ( b . isArray ( a . p . data ) ) { var u = a . p . grouping ? a . p . groupingView : false ; b . each ( a . p . colModel , function ( ) { A = this . sorttype || "text" ; if ( A == "date" || A == "datetime" ) { if ( this . formatter && typeof this . formatter === "string" && this . formatter == "date" ) { s = this . formatoptions &&
this . formatoptions . srcformat ? this . formatoptions . srcformat : b . jgrid . formatter . date . srcformat ; z = this . formatoptions && this . formatoptions . newformat ? this . formatoptions . newformat : b . jgrid . formatter . date . newformat } else s = z = this . datefmt || "Y-m-d" ; m [ this . name ] = { stype : A , srcfmt : s , newfmt : z } } else m [ this . name ] = { stype : A , srcfmt : "" , newfmt : "" } ; if ( a . p . grouping && this . name == u . groupField [ 0 ] ) { var v = this . name ; if ( typeof this . index != "undefined" ) v = this . index ; p [ 0 ] = m [ v ] ; C . push ( v ) } if ( ! j && ( this . index == a . p . sortname || this . name == a . p . sortname ) ) { f =
this . name ; j = true } } ) ; if ( a . p . treeGrid ) b ( a ) . jqGrid ( "SortTree" , f , a . p . sortorder , m [ f ] . stype , m [ f ] . srcfmt ) ; else { var w = { eq : function ( v ) { return v . equals } , ne : function ( v ) { return v . notEquals } , lt : function ( v ) { return v . less } , le : function ( v ) { return v . lessOrEquals } , gt : function ( v ) { return v . greater } , ge : function ( v ) { return v . greaterOrEquals } , cn : function ( v ) { return v . contains } , nc : function ( v , B ) { return B === "OR" ? v . orNot ( ) . contains : v . andNot ( ) . contains } , bw : function ( v ) { return v . startsWith } , bn : function ( v , B ) { return B === "OR" ? v . orNot ( ) . startsWith :
v . andNot ( ) . startsWith } , en : function ( v , B ) { return B === "OR" ? v . orNot ( ) . endsWith : v . andNot ( ) . endsWith } , ew : function ( v ) { return v . endsWith } , ni : function ( v , B ) { return B === "OR" ? v . orNot ( ) . equals : v . andNot ( ) . equals } , "in" : function ( v ) { return v . equals } , nu : function ( v ) { return v . isNull } , nn : function ( v , B ) { return B === "OR" ? v . orNot ( ) . isNull : v . andNot ( ) . isNull } } , r = b . jgrid . from ( a . p . data ) ; if ( a . p . ignoreCase ) r = r . ignoreCase ( ) ; if ( a . p . search === true ) { var G = a . p . postData . filters ; if ( G ) { if ( typeof G == "string" ) G = b . jgrid . parse ( G ) ; d ( G ) } else try { r =
w [ a . p . postData . searchOper ] ( r ) ( a . p . postData . searchField , a . p . postData . searchString , m [ a . p . postData . searchField ] ) } catch ( O ) { } } if ( a . p . grouping ) { r . orderBy ( C , u . groupOrder [ 0 ] , p [ 0 ] . stype , p [ 0 ] . srcfmt ) ; u . groupDataSorted = true } if ( f && a . p . sortorder && j ) a . p . sortorder . toUpperCase ( ) == "DESC" ? r . orderBy ( a . p . sortname , "d" , m [ f ] . stype , m [ f ] . srcfmt ) : r . orderBy ( a . p . sortname , "a" , m [ f ] . stype , m [ f ] . srcfmt ) ; G = r . select ( ) ; var S = parseInt ( a . p . rowNum , 10 ) , K = G . length , L = parseInt ( a . p . page , 10 ) , Z = Math . ceil ( K / S ) , P = { } ; G = G . slice ( ( L - 1 ) * S , L * S ) ; m = r =
null ; P [ a . p . localReader . total ] = Z ; P [ a . p . localReader . page ] = L ; P [ a . p . localReader . records ] = K ; P [ a . p . localReader . root ] = G ; P [ a . p . localReader . userdata ] = a . p . userData ; G = null ; return P } } } , R = function ( ) { a . grid . hDiv . loading = true ; if ( ! a . p . hiddengrid ) switch ( a . p . loadui ) { case "enable" : b ( "#load_" + b . jgrid . jqID ( a . p . id ) ) . show ( ) ; break ; case "block" : b ( "#lui_" + b . jgrid . jqID ( a . p . id ) ) . show ( ) ; b ( "#load_" + b . jgrid . jqID ( a . p . id ) ) . show ( ) } } , aa = function ( ) { a . grid . hDiv . loading = false ; switch ( a . p . loadui ) { case "enable" : b ( "#load_" + b . jgrid . jqID ( a . p . id ) ) . hide ( ) ;
break ; case "block" : b ( "#lui_" + b . jgrid . jqID ( a . p . id ) ) . hide ( ) ; b ( "#load_" + b . jgrid . jqID ( a . p . id ) ) . hide ( ) } } , ka = function ( d ) { if ( ! a . grid . hDiv . loading ) { var f = a . p . scroll && d === false , j = { } , m , p = a . p . prmNames ; if ( a . p . page <= 0 ) a . p . page = 1 ; if ( p . search !== null ) j [ p . search ] = a . p . search ; if ( p . nd !== null ) j [ p . nd ] = ( new Date ) . getTime ( ) ; if ( p . rows !== null ) j [ p . rows ] = a . p . rowNum ; if ( p . page !== null ) j [ p . page ] = a . p . page ; if ( p . sort !== null ) j [ p . sort ] = a . p . sortname ; if ( p . order !== null ) j [ p . order ] = a . p . sortorder ; if ( a . p . rowTotal !== null && p . totalrows !== null ) j [ p . totalrows ] =
a . p . rowTotal ; var C = a . p . loadComplete , s = b . isFunction ( C ) ; s || ( C = null ) ; var A = 0 ; d = d || 1 ; if ( d > 1 ) if ( p . npage !== null ) { j [ p . npage ] = d ; A = d - 1 ; d = 1 } else C = function ( u ) { a . p . page ++ ; a . grid . hDiv . loading = false ; s && a . p . loadComplete . call ( a , u ) ; ka ( d - 1 ) } ; else p . npage !== null && delete a . p . postData [ p . npage ] ; if ( a . p . grouping ) { b ( a ) . jqGrid ( "groupingSetup" ) ; if ( a . p . groupingView . groupDataSorted === true ) j [ p . sort ] = a . p . groupingView . groupField [ 0 ] + " " + a . p . groupingView . groupOrder [ 0 ] + ", " + j [ p . sort ] } b . extend ( a . p . postData , j ) ; var z = ! a . p . scroll ? 1 : a . rows . length -
1 ; if ( b . isFunction ( a . p . datatype ) ) a . p . datatype . call ( a , a . p . postData , "load_" + a . p . id ) ; else { if ( b . isFunction ( a . p . beforeRequest ) ) { j = a . p . beforeRequest . call ( a ) ; if ( j === undefined ) j = true ; if ( j === false ) return } m = a . p . datatype . toLowerCase ( ) ; switch ( m ) { case "json" : case "jsonp" : case "xml" : case "script" : b . ajax ( b . extend ( { url : a . p . url , type : a . p . mtype , dataType : m , data : b . isFunction ( a . p . serializeGridData ) ? a . p . serializeGridData . call ( a , a . p . postData ) : a . p . postData , success : function ( u , w , r ) { b . isFunction ( a . p . beforeProcessing ) && a . p . beforeProcessing . call ( a ,
u , w , r ) ; m === "xml" ? X ( u , a . grid . bDiv , z , d > 1 , A ) : fa ( u , a . grid . bDiv , z , d > 1 , A ) ; C && C . call ( a , u ) ; f && a . grid . populateVisible ( ) ; if ( a . p . loadonce || a . p . treeGrid ) a . p . datatype = "local" ; d === 1 && aa ( ) } , error : function ( u , w , r ) { b . isFunction ( a . p . loadError ) && a . p . loadError . call ( a , u , w , r ) ; d === 1 && aa ( ) } , beforeSend : function ( u , w ) { var r = true ; if ( b . isFunction ( a . p . loadBeforeSend ) ) r = a . p . loadBeforeSend . call ( a , u , w ) ; if ( r === undefined ) r = true ; if ( r === false ) return false ; else R ( ) } } , b . jgrid . ajaxOptions , a . p . ajaxGridOptions ) ) ; break ; case "xmlstring" : R ( ) ;
j = b . jgrid . stringToDoc ( a . p . datastr ) ; X ( j , a . grid . bDiv ) ; s && a . p . loadComplete . call ( a , j ) ; a . p . datatype = "local" ; a . p . datastr = null ; aa ( ) ; break ; case "jsonstring" : R ( ) ; j = typeof a . p . datastr == "string" ? b . jgrid . parse ( a . p . datastr ) : a . p . datastr ; fa ( j , a . grid . bDiv ) ; s && a . p . loadComplete . call ( a , j ) ; a . p . datatype = "local" ; a . p . datastr = null ; aa ( ) ; break ; case "local" : case "clientside" : R ( ) ; a . p . datatype = "local" ; j = pa ( ) ; fa ( j , a . grid . bDiv , z , d > 1 , A ) ; C && C . call ( a , j ) ; f && a . grid . populateVisible ( ) ; aa ( ) } } } } , sa = function ( d ) { b ( "#cb_" + b . jgrid . jqID ( a . p . id ) ,
a . grid . hDiv ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , d ) ; if ( a . p . frozenColumns && a . p . id + "_frozen" ) b ( "#cb_" + b . jgrid . jqID ( a . p . id ) , a . grid . fhDiv ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , d ) } ; x = function ( d , f ) { var j = "" , m = "<table cellspacing='0' cellpadding='0' border='0' style='table-layout:auto;' class='ui-pg-table'><tbody><tr>" , p = "" , C , s , A , z , u = function ( w ) { var r ; if ( b . isFunction ( a . p . onPaging ) ) r = a . p . onPaging . call ( a , w ) ; a . p . selrow = null ; if ( a . p . multiselect ) { a . p . selarrrow = [ ] ; sa ( false ) } a . p . savedRow = [ ] ; if ( r == "stop" ) return false ;
return true } ; d = d . substr ( 1 ) ; f += "_" + d ; C = "pg_" + d ; s = d + "_left" ; A = d + "_center" ; z = d + "_right" ; b ( "#" + b . jgrid . jqID ( d ) ) . append ( "<div id='" + C + "' class='ui-pager-control' role='group'><table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table' style='width:100%;table-layout:fixed;height:100%;' role='row'><tbody><tr><td id='" + s + "' align='left'></td><td id='" + A + "' align='center' style='white-space:pre;'></td><td id='" + z + "' align='right'></td></tr></tbody></table></div>" ) . attr ( "dir" , "ltr" ) ; if ( a . p . rowList . length >
0 ) { p = "<td dir='" + l + "'>" ; p += "<select class='ui-pg-selbox' role='listbox'>" ; for ( s = 0 ; s < a . p . rowList . length ; s ++ ) p += '<option role="option" value="' + a . p . rowList [ s ] + '"' + ( a . p . rowNum == a . p . rowList [ s ] ? ' selected="selected"' : "" ) + ">" + a . p . rowList [ s ] + "</option>" ; p += "</select></td>" } if ( l == "rtl" ) m += p ; if ( a . p . pginput === true ) j = "<td dir='" + l + "'>" + b . jgrid . format ( a . p . pgtext || "" , "<input class='ui-pg-input' type='text' size='2' maxlength='7' value='0' role='textbox'/>" , "<span id='sp_1_" + b . jgrid . jqID ( d ) + "'></span>" ) + "</td>" ;
if ( a . p . pgbuttons === true ) { s = [ "first" + f , "prev" + f , "next" + f , "last" + f ] ; l == "rtl" && s . reverse ( ) ; m += "<td id='" + s [ 0 ] + "' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-first'></span></td>" ; m += "<td id='" + s [ 1 ] + "' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-prev'></span></td>" ; m += j !== "" ? "<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>" + j + "<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>" :
"" ; m += "<td id='" + s [ 2 ] + "' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-next'></span></td>" ; m += "<td id='" + s [ 3 ] + "' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-end'></span></td>" } else if ( j !== "" ) m += j ; if ( l == "ltr" ) m += p ; m += "</tr></tbody></table>" ; a . p . viewrecords === true && b ( "td#" + d + "_" + a . p . recordpos , "#" + C ) . append ( "<div dir='" + l + "' style='text-align:" + a . p . recordpos + "' class='ui-paging-info'></div>" ) ; b ( "td#" + d + "_" + a . p . pagerpos , "#" + C ) . append ( m ) ; p = b ( ".ui-jqgrid" ) . css ( "font-size" ) ||
"11px" ; b ( document . body ) . append ( "<div id='testpg' class='ui-jqgrid ui-widget ui-widget-content' style='font-size:" + p + ";visibility:hidden;' ></div>" ) ; m = b ( m ) . clone ( ) . appendTo ( "#testpg" ) . width ( ) ; b ( "#testpg" ) . remove ( ) ; if ( m > 0 ) { if ( j !== "" ) m += 50 ; b ( "td#" + d + "_" + a . p . pagerpos , "#" + C ) . width ( m ) } a . p . _nvtd = [ ] ; a . p . _nvtd [ 0 ] = m ? Math . floor ( ( a . p . width - m ) / 2 ) : Math . floor ( a . p . width / 3 ) ; a . p . _nvtd [ 1 ] = 0 ; m = null ; b ( ".ui-pg-selbox" , "#" + C ) . bind ( "change" , function ( ) { a . p . page = Math . round ( a . p . rowNum * ( a . p . page - 1 ) / this . value - 0.5 ) + 1 ; a . p . rowNum =
this . value ; if ( f ) b ( ".ui-pg-selbox" , a . p . pager ) . val ( this . value ) ; else a . p . toppager && b ( ".ui-pg-selbox" , a . p . toppager ) . val ( this . value ) ; if ( ! u ( "records" ) ) return false ; ka ( ) ; return false } ) ; if ( a . p . pgbuttons === true ) { b ( ".ui-pg-button" , "#" + C ) . hover ( function ( ) { if ( b ( this ) . hasClass ( "ui-state-disabled" ) ) this . style . cursor = "default" ; else { b ( this ) . addClass ( "ui-state-hover" ) ; this . style . cursor = "pointer" } } , function ( ) { if ( ! b ( this ) . hasClass ( "ui-state-disabled" ) ) { b ( this ) . removeClass ( "ui-state-hover" ) ; this . style . cursor = "default" } } ) ;
b ( "#first" + b . jgrid . jqID ( f ) + ", #prev" + b . jgrid . jqID ( f ) + ", #next" + b . jgrid . jqID ( f ) + ", #last" + b . jgrid . jqID ( f ) ) . click ( function ( ) { var w = M ( a . p . page , 1 ) , r = M ( a . p . lastpage , 1 ) , G = false , O = true , S = true , K = true , L = true ; if ( r === 0 || r === 1 ) L = K = S = O = false ; else if ( r > 1 && w >= 1 ) if ( w === 1 ) S = O = false ; else { if ( w === r ) L = K = false } else if ( r > 1 && w === 0 ) { L = K = false ; w = r - 1 } if ( this . id === "first" + f && O ) { a . p . page = 1 ; G = true } if ( this . id === "prev" + f && S ) { a . p . page = w - 1 ; G = true } if ( this . id === "next" + f && K ) { a . p . page = w + 1 ; G = true } if ( this . id === "last" + f && L ) { a . p . page = r ; G =
true } if ( G ) { if ( ! u ( this . id ) ) return false ; ka ( ) } return false } ) } a . p . pginput === true && b ( "input.ui-pg-input" , "#" + C ) . keypress ( function ( w ) { if ( ( w . charCode ? w . charCode : w . keyCode ? w . keyCode : 0 ) == 13 ) { a . p . page = b ( this ) . val ( ) > 0 ? b ( this ) . val ( ) : a . p . page ; if ( ! u ( "user" ) ) return false ; ka ( ) ; return false } return this } ) } ; var Ea = function ( d , f , j , m ) { if ( a . p . colModel [ f ] . sortable ) if ( ! ( a . p . savedRow . length > 0 ) ) { if ( ! j ) { if ( a . p . lastsort == f ) if ( a . p . sortorder == "asc" ) a . p . sortorder = "desc" ; else { if ( a . p . sortorder == "desc" ) a . p . sortorder = "asc" } else a . p . sortorder =
a . p . colModel [ f ] . firstsortorder || "asc" ; a . p . page = 1 } if ( m ) if ( a . p . lastsort == f && a . p . sortorder == m && ! j ) return ; else a . p . sortorder = m ; j = a . grid . headers [ a . p . lastsort ] . el ; m = a . grid . headers [ f ] . el ; b ( "span.ui-grid-ico-sort" , j ) . addClass ( "ui-state-disabled" ) ; b ( j ) . attr ( "aria-selected" , "false" ) ; b ( "span.ui-icon-" + a . p . sortorder , m ) . removeClass ( "ui-state-disabled" ) ; b ( m ) . attr ( "aria-selected" , "true" ) ; if ( ! a . p . viewsortcols [ 0 ] ) if ( a . p . lastsort != f ) { b ( "span.s-ico" , j ) . hide ( ) ; b ( "span.s-ico" , m ) . show ( ) } d = d . substring ( 5 + a . p . id . length + 1 ) ;
a . p . sortname = a . p . colModel [ f ] . index || d ; j = a . p . sortorder ; if ( b . isFunction ( a . p . onSortCol ) ) if ( a . p . onSortCol . call ( a , d , f , j ) == "stop" ) { a . p . lastsort = f ; return } if ( a . p . datatype == "local" ) a . p . deselectAfterSort && b ( a ) . jqGrid ( "resetSelection" ) ; else { a . p . selrow = null ; a . p . multiselect && sa ( false ) ; a . p . selarrrow = [ ] ; a . p . savedRow = [ ] } if ( a . p . scroll ) { j = a . grid . bDiv . scrollLeft ; D ( a . grid . bDiv , true , false ) ; a . grid . hDiv . scrollLeft = j } a . p . subGrid && a . p . datatype == "local" && b ( "td.sgexpanded" , "#" + b . jgrid . jqID ( a . p . id ) ) . each ( function ( ) { b ( this ) . trigger ( "click" ) } ) ;
ka ( ) ; a . p . lastsort = f ; if ( a . p . sortname != d && f ) a . p . lastsort = f } } , Ia = function ( d ) { var f , j = { } , m = E ? 0 : a . p . cellLayout ; for ( f = j [ 0 ] = j [ 1 ] = j [ 2 ] = 0 ; f <= d ; f ++ ) if ( a . p . colModel [ f ] . hidden === false ) j [ 0 ] += a . p . colModel [ f ] . width + m ; if ( a . p . direction == "rtl" ) j [ 0 ] = a . p . width - j [ 0 ] ; j [ 0 ] -= a . grid . bDiv . scrollLeft ; if ( b ( a . grid . cDiv ) . is ( ":visible" ) ) j [ 1 ] += b ( a . grid . cDiv ) . height ( ) + parseInt ( b ( a . grid . cDiv ) . css ( "padding-top" ) , 10 ) + parseInt ( b ( a . grid . cDiv ) . css ( "padding-bottom" ) , 10 ) ; if ( a . p . toolbar [ 0 ] === true && ( a . p . toolbar [ 1 ] == "top" || a . p . toolbar [ 1 ] ==
"both" ) ) j [ 1 ] += b ( a . grid . uDiv ) . height ( ) + parseInt ( b ( a . grid . uDiv ) . css ( "border-top-width" ) , 10 ) + parseInt ( b ( a . grid . uDiv ) . css ( "border-bottom-width" ) , 10 ) ; if ( a . p . toppager ) j [ 1 ] += b ( a . grid . topDiv ) . height ( ) + parseInt ( b ( a . grid . topDiv ) . css ( "border-bottom-width" ) , 10 ) ; j [ 2 ] += b ( a . grid . bDiv ) . height ( ) + b ( a . grid . hDiv ) . height ( ) ; return j } , Fa = function ( d ) { var f , j = a . grid . headers , m = b . jgrid . getCellIndex ( d ) ; for ( f = 0 ; f < j . length ; f ++ ) if ( d === j [ f ] . el ) { m = f ; break } return m } ; this . p . id = this . id ; if ( b . inArray ( a . p . multikey , [ "shiftKey" , "altKey" ,
"ctrlKey" ] ) == - 1 ) a . p . multikey = false ; a . p . keyIndex = false ; for ( k = 0 ; k < a . p . colModel . length ; k ++ ) { a . p . colModel [ k ] = b . extend ( true , { } , a . p . cmTemplate , a . p . colModel [ k ] . template || { } , a . p . colModel [ k ] ) ; if ( a . p . keyIndex === false && a . p . colModel [ k ] . key === true ) a . p . keyIndex = k } a . p . sortorder = a . p . sortorder . toLowerCase ( ) ; if ( a . p . grouping === true ) { a . p . scroll = false ; a . p . rownumbers = false ; a . p . subGrid = false ; a . p . treeGrid = false ; a . p . gridview = true } if ( this . p . treeGrid === true ) { try { b ( this ) . jqGrid ( "setTreeGrid" ) } catch ( Ma ) { } if ( a . p . datatype != "local" ) a . p . localReader =
{ id : "_id_" } } if ( this . p . subGrid ) try { b ( a ) . jqGrid ( "setSubGrid" ) } catch ( Na ) { } if ( this . p . multiselect ) { this . p . colNames . unshift ( "<input role='checkbox' id='cb_" + this . p . id + "' class='cbox' type='checkbox'/>" ) ; this . p . colModel . unshift ( { name : "cb" , width : E ? a . p . multiselectWidth + a . p . cellLayout : a . p . multiselectWidth , sortable : false , resizable : false , hidedlg : true , search : false , align : "center" , fixed : true } ) } if ( this . p . rownumbers ) { this . p . colNames . unshift ( "" ) ; this . p . colModel . unshift ( { name : "rn" , width : a . p . rownumWidth , sortable : false ,
resizable : false , hidedlg : true , search : false , align : "center" , fixed : true } ) } a . p . xmlReader = b . extend ( true , { root : "rows" , row : "row" , page : "rows>page" , total : "rows>total" , records : "rows>records" , repeatitems : true , cell : "cell" , id : "[id]" , userdata : "userdata" , subgrid : { root : "rows" , row : "row" , repeatitems : true , cell : "cell" } } , a . p . xmlReader ) ; a . p . jsonReader = b . extend ( true , { root : "rows" , page : "page" , total : "total" , records : "records" , repeatitems : true , cell : "cell" , id : "id" , userdata : "userdata" , subgrid : { root : "rows" , repeatitems : true , cell : "cell" } } ,
a . p . jsonReader ) ; a . p . localReader = b . extend ( true , { root : "rows" , page : "page" , total : "total" , records : "records" , repeatitems : false , cell : "cell" , id : "id" , userdata : "userdata" , subgrid : { root : "rows" , repeatitems : true , cell : "cell" } } , a . p . localReader ) ; if ( a . p . scroll ) { a . p . pgbuttons = false ; a . p . pginput = false ; a . p . rowList = [ ] } a . p . data . length && ca ( ) ; var da = "<thead><tr class='ui-jqgrid-labels' role='rowheader'>" , Ga , na , ta , ra , ua , Y , Q , oa ; na = oa = "" ; if ( a . p . shrinkToFit === true && a . p . forceFit === true ) for ( k = a . p . colModel . length - 1 ; k >= 0 ; k -- ) if ( ! a . p . colModel [ k ] . hidden ) { a . p . colModel [ k ] . resizable =
false ; break } if ( a . p . viewsortcols [ 1 ] == "horizontal" ) { oa = " ui-i-asc" ; na = " ui-i-desc" } Ga = y ? "class='ui-th-div-ie'" : "" ; oa = "<span class='s-ico' style='display:none'><span sort='asc' class='ui-grid-ico-sort ui-icon-asc" + oa + " ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-" + l + "'></span>" ; oa += "<span sort='desc' class='ui-grid-ico-sort ui-icon-desc" + na + " ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-" + l + "'></span></span>" ; for ( k = 0 ; k < this . p . colNames . length ; k ++ ) { na = a . p . headertitles ? ' title="' + b . jgrid . stripHtml ( a . p . colNames [ k ] ) +
'"' : "" ; da += "<th id='" + a . p . id + "_" + a . p . colModel [ k ] . name + "' role='columnheader' class='ui-state-default ui-th-column ui-th-" + l + "'" + na + ">" ; na = a . p . colModel [ k ] . index || a . p . colModel [ k ] . name ; da += "<div id='jqgh_" + a . p . id + "_" + a . p . colModel [ k ] . name + "' " + Ga + ">" + a . p . colNames [ k ] ; a . p . colModel [ k ] . width = a . p . colModel [ k ] . width ? parseInt ( a . p . colModel [ k ] . width , 10 ) : 150 ; if ( typeof a . p . colModel [ k ] . title !== "boolean" ) a . p . colModel [ k ] . title = true ; if ( na == a . p . sortname ) a . p . lastsort = k ; da += oa + "</div></th>" } da += "</tr></thead>" ; oa = null ;
b ( this ) . append ( da ) ; b ( "thead tr:first th" , this ) . hover ( function ( ) { b ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { b ( this ) . removeClass ( "ui-state-hover" ) } ) ; if ( this . p . multiselect ) { var Aa = [ ] , va ; b ( "#cb_" + b . jgrid . jqID ( a . p . id ) , this ) . bind ( "click" , function ( ) { a . p . selarrrow = [ ] ; var d = a . p . frozenColumns === true ? a . p . id + "_frozen" : "" ; if ( this . checked ) { b ( a . rows ) . each ( function ( f ) { if ( f > 0 ) if ( ! b ( this ) . hasClass ( "ui-subgrid" ) && ! b ( this ) . hasClass ( "jqgroup" ) && ! b ( this ) . hasClass ( "ui-state-disabled" ) ) { b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) +
"_" + b . jgrid . jqID ( this . id ) ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , true ) ; b ( this ) . addClass ( "ui-state-highlight" ) . attr ( "aria-selected" , "true" ) ; a . p . selarrrow . push ( this . id ) ; a . p . selrow = this . id ; if ( d ) { b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) + "_" + b . jgrid . jqID ( this . id ) , a . grid . fbDiv ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , true ) ; b ( "#" + b . jgrid . jqID ( this . id ) , a . grid . fbDiv ) . addClass ( "ui-state-highlight" ) } } } ) ; va = true ; Aa = [ ] } else { b ( a . rows ) . each ( function ( f ) { if ( f > 0 ) if ( ! b ( this ) . hasClass ( "ui-subgrid" ) && ! b ( this ) . hasClass ( "ui-state-disabled" ) ) { b ( "#jqg_" +
b . jgrid . jqID ( a . p . id ) + "_" + b . jgrid . jqID ( this . id ) ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , false ) ; b ( this ) . removeClass ( "ui-state-highlight" ) . attr ( "aria-selected" , "false" ) ; Aa . push ( this . id ) ; if ( d ) { b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) + "_" + b . jgrid . jqID ( this . id ) , a . grid . fbDiv ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , false ) ; b ( "#" + b . jgrid . jqID ( this . id ) , a . grid . fbDiv ) . removeClass ( "ui-state-highlight" ) } } } ) ; a . p . selrow = null ; va = false } if ( b . isFunction ( a . p . onSelectAll ) ) a . p . onSelectAll . call ( a , va ? a . p . selarrrow : Aa , va ) } ) } if ( a . p . autowidth ===
true ) { da = b ( I ) . innerWidth ( ) ; a . p . width = da > 0 ? da : "nw" } ( function ( ) { var d = 0 , f = E ? 0 : a . p . cellLayout , j = 0 , m , p = a . p . scrollOffset , C , s = false , A , z = 0 , u = 0 , w ; b . each ( a . p . colModel , function ( ) { if ( typeof this . hidden === "undefined" ) this . hidden = false ; this . widthOrg = C = M ( this . width , 0 ) ; if ( this . hidden === false ) { d += C + f ; if ( this . fixed ) z += C + f ; else j ++ ; u ++ } } ) ; if ( isNaN ( a . p . width ) ) a . p . width = h . width = d ; else h . width = a . p . width ; a . p . tblwidth = d ; if ( a . p . shrinkToFit === false && a . p . forceFit === true ) a . p . forceFit = false ; if ( a . p . shrinkToFit === true && j > 0 ) { A =
h . width - f * j - z ; if ( ! isNaN ( a . p . height ) ) { A -= p ; s = true } d = 0 ; b . each ( a . p . colModel , function ( r ) { if ( this . hidden === false && ! this . fixed ) { this . width = C = Math . round ( A * this . width / ( a . p . tblwidth - f * j - z ) ) ; d += C ; m = r } } ) ; w = 0 ; if ( s ) { if ( h . width - z - ( d + f * j ) !== p ) w = h . width - z - ( d + f * j ) - p } else if ( ! s && Math . abs ( h . width - z - ( d + f * j ) ) !== 1 ) w = h . width - z - ( d + f * j ) ; a . p . colModel [ m ] . width += w ; a . p . tblwidth = d + w + f * j + z ; if ( a . p . tblwidth > a . p . width ) { a . p . colModel [ m ] . width -= a . p . tblwidth - parseInt ( a . p . width , 10 ) ; a . p . tblwidth = a . p . width } } } ) ( ) ; b ( I ) . css ( "width" , h . width +
"px" ) . append ( "<div class='ui-jqgrid-resize-mark' id='rs_m" + a . p . id + "'> </div>" ) ; b ( q ) . css ( "width" , h . width + "px" ) ; da = b ( "thead:first" , a ) . get ( 0 ) ; var wa = "" ; if ( a . p . footerrow ) wa += "<table role='grid' style='width:" + a . p . tblwidth + "px' class='ui-jqgrid-ftable' cellspacing='0' cellpadding='0' border='0'><tbody><tr role='row' class='ui-widget-content footrow footrow-" + l + "'>" ; q = b ( "tr:first" , da ) ; var xa = "<tr class='jqgfirstrow' role='row' style='height:auto'>" ; a . p . disableClick = false ; b ( "th" , q ) . each ( function ( d ) { ta =
a . p . colModel [ d ] . width ; if ( typeof a . p . colModel [ d ] . resizable === "undefined" ) a . p . colModel [ d ] . resizable = true ; if ( a . p . colModel [ d ] . resizable ) { ra = document . createElement ( "span" ) ; b ( ra ) . html ( " " ) . addClass ( "ui-jqgrid-resize ui-jqgrid-resize-" + l ) ; b . browser . opera || b ( ra ) . css ( "cursor" , "col-resize" ) ; b ( this ) . addClass ( a . p . resizeclass ) } else ra = "" ; b ( this ) . css ( "width" , ta + "px" ) . prepend ( ra ) ; var f = "" ; if ( a . p . colModel [ d ] . hidden ) { b ( this ) . css ( "display" , "none" ) ; f = "display:none;" } xa += "<td role='gridcell' style='height:0px;width:" +
ta + "px;" + f + "'></td>" ; h . headers [ d ] = { width : ta , el : this } ; ua = a . p . colModel [ d ] . sortable ; if ( typeof ua !== "boolean" ) ua = a . p . colModel [ d ] . sortable = true ; f = a . p . colModel [ d ] . name ; f == "cb" || f == "subgrid" || f == "rn" || a . p . viewsortcols [ 2 ] && b ( ">div" , this ) . addClass ( "ui-jqgrid-sortable" ) ; if ( ua ) if ( a . p . viewsortcols [ 0 ] ) { b ( "div span.s-ico" , this ) . show ( ) ; d == a . p . lastsort && b ( "div span.ui-icon-" + a . p . sortorder , this ) . removeClass ( "ui-state-disabled" ) } else if ( d == a . p . lastsort ) { b ( "div span.s-ico" , this ) . show ( ) ; b ( "div span.ui-icon-" + a . p . sortorder ,
this ) . removeClass ( "ui-state-disabled" ) } if ( a . p . footerrow ) wa += "<td role='gridcell' " + N ( d , 0 , "" , null , "" , false ) + "> </td>" } ) . mousedown ( function ( d ) { if ( b ( d . target ) . closest ( "th>span.ui-jqgrid-resize" ) . length == 1 ) { var f = Fa ( this ) ; if ( a . p . forceFit === true ) { var j = a . p , m = f , p ; for ( p = f + 1 ; p < a . p . colModel . length ; p ++ ) if ( a . p . colModel [ p ] . hidden !== true ) { m = p ; break } j . nv = m - f } h . dragStart ( f , d , Ia ( f ) ) ; return false } } ) . click ( function ( d ) { if ( a . p . disableClick ) return a . p . disableClick = false ; var f = "th>div.ui-jqgrid-sortable" , j , m ; a . p . viewsortcols [ 2 ] ||
( f = "th>div>span>span.ui-grid-ico-sort" ) ; d = b ( d . target ) . closest ( f ) ; if ( d . length == 1 ) { f = Fa ( this ) ; if ( ! a . p . viewsortcols [ 2 ] ) { j = true ; m = d . attr ( "sort" ) } Ea ( b ( "div" , this ) [ 0 ] . id , f , j , m ) ; return false } } ) ; if ( a . p . sortable && b . fn . sortable ) try { b ( a ) . jqGrid ( "sortableColumns" , q ) } catch ( Oa ) { } if ( a . p . footerrow ) wa += "</tr></tbody></table>" ; xa += "</tr>" ; this . appendChild ( document . createElement ( "tbody" ) ) ; b ( this ) . addClass ( "ui-jqgrid-btable" ) . append ( xa ) ; xa = null ; q = b ( "<table class='ui-jqgrid-htable' style='width:" + a . p . tblwidth + "px' role='grid' aria-labelledby='gbox_" +
this . id + "' cellspacing='0' cellpadding='0' border='0'></table>" ) . append ( da ) ; var ea = a . p . caption && a . p . hiddengrid === true ? true : false ; k = b ( "<div class='ui-jqgrid-hbox" + ( l == "rtl" ? "-rtl" : "" ) + "'></div>" ) ; da = null ; h . hDiv = document . createElement ( "div" ) ; b ( h . hDiv ) . css ( { width : h . width + "px" } ) . addClass ( "ui-state-default ui-jqgrid-hdiv" ) . append ( k ) ; b ( k ) . append ( q ) ; q = null ; ea && b ( h . hDiv ) . hide ( ) ; if ( a . p . pager ) { if ( typeof a . p . pager == "string" ) { if ( a . p . pager . substr ( 0 , 1 ) != "#" ) a . p . pager = "#" + a . p . pager } else a . p . pager = "#" + b ( a . p . pager ) . attr ( "id" ) ;
b ( a . p . pager ) . css ( { width : h . width + "px" } ) . appendTo ( I ) . addClass ( "ui-state-default ui-jqgrid-pager ui-corner-bottom" ) ; ea && b ( a . p . pager ) . hide ( ) ; x ( a . p . pager , "" ) } a . p . cellEdit === false && a . p . hoverrows === true && b ( a ) . bind ( "mouseover" , function ( d ) { Q = b ( d . target ) . closest ( "tr.jqgrow" ) ; b ( Q ) . attr ( "class" ) !== "ui-subgrid" && b ( Q ) . addClass ( "ui-state-hover" ) } ) . bind ( "mouseout" , function ( d ) { Q = b ( d . target ) . closest ( "tr.jqgrow" ) ; b ( Q ) . removeClass ( "ui-state-hover" ) } ) ; var la , ma ; b ( a ) . before ( h . hDiv ) . click ( function ( d ) { Y = d . target ; Q = b ( Y , a . rows ) . closest ( "tr.jqgrow" ) ;
if ( b ( Q ) . length === 0 || Q [ 0 ] . className . indexOf ( "ui-state-disabled" ) > - 1 || b ( Y , a ) . closest ( "table.ui-jqgrid-btable" ) [ 0 ] . id . replace ( "_frozen" , "" ) !== a . id ) return this ; var f = b ( Y ) . hasClass ( "cbox" ) , j = true ; if ( b . isFunction ( a . p . beforeSelectRow ) ) j = a . p . beforeSelectRow . call ( a , Q [ 0 ] . id , d ) ; if ( Y . tagName == "A" || ( Y . tagName == "INPUT" || Y . tagName == "TEXTAREA" || Y . tagName == "OPTION" || Y . tagName == "SELECT" ) && ! f ) return this ; if ( j === true ) { if ( a . p . cellEdit === true ) if ( a . p . multiselect && f ) b ( a ) . jqGrid ( "setSelection" , Q [ 0 ] . id , true ) ; else { la = Q [ 0 ] . rowIndex ;
ma = b . jgrid . getCellIndex ( Y ) ; try { b ( a ) . jqGrid ( "editCell" , la , ma , true ) } catch ( m ) { } } else if ( a . p . multikey ) if ( d [ a . p . multikey ] ) b ( a ) . jqGrid ( "setSelection" , Q [ 0 ] . id , true ) ; else { if ( a . p . multiselect && f ) { f = b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) + "_" + Q [ 0 ] . id ) . is ( ":checked" ) ; b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) + "_" + Q [ 0 ] . id ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , f ) } } else { if ( a . p . multiselect && a . p . multiboxonly ) if ( ! f ) { var p = a . p . frozenColumns ? a . p . id + "_frozen" : "" ; b ( a . p . selarrrow ) . each ( function ( C , s ) { var A = a . rows . namedItem ( s ) ; b ( A ) . removeClass ( "ui-state-highlight" ) ;
b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) + "_" + b . jgrid . jqID ( s ) ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , false ) ; if ( p ) { b ( "#" + b . jgrid . jqID ( s ) , "#" + b . jgrid . jqID ( p ) ) . removeClass ( "ui-state-highlight" ) ; b ( "#jqg_" + b . jgrid . jqID ( a . p . id ) + "_" + b . jgrid . jqID ( s ) , "#" + b . jgrid . jqID ( p ) ) [ a . p . useProp ? "prop" : "attr" ] ( "checked" , false ) } } ) ; a . p . selarrrow = [ ] } b ( a ) . jqGrid ( "setSelection" , Q [ 0 ] . id , true ) } if ( b . isFunction ( a . p . onCellSelect ) ) { la = Q [ 0 ] . id ; ma = b . jgrid . getCellIndex ( Y ) ; a . p . onCellSelect . call ( a , la , ma , b ( Y ) . html ( ) , d ) } } return this } ) . bind ( "reloadGrid" ,
function ( d , f ) { if ( a . p . treeGrid === true ) a . p . datatype = a . p . treedatatype ; f && f . current && a . grid . selectionPreserver ( a ) ; if ( a . p . datatype == "local" ) { b ( a ) . jqGrid ( "resetSelection" ) ; a . p . data . length && ca ( ) } else if ( ! a . p . treeGrid ) { a . p . selrow = null ; if ( a . p . multiselect ) { a . p . selarrrow = [ ] ; sa ( false ) } a . p . savedRow = [ ] } a . p . scroll && D ( a . grid . bDiv , true , false ) ; if ( f && f . page ) { var j = f . page ; if ( j > a . p . lastpage ) j = a . p . lastpage ; if ( j < 1 ) j = 1 ; a . p . page = j ; a . grid . bDiv . scrollTop = a . grid . prevRowHeight ? ( j - 1 ) * a . grid . prevRowHeight * a . p . rowNum : 0 } if ( a . grid . prevRowHeight &&
a . p . scroll ) { delete a . p . lastpage ; a . grid . populateVisible ( ) } else a . grid . populate ( ) ; return false } ) ; b . isFunction ( this . p . ondblClickRow ) && b ( this ) . dblclick ( function ( d ) { Y = d . target ; Q = b ( Y , a . rows ) . closest ( "tr.jqgrow" ) ; if ( b ( Q ) . length === 0 ) return false ; la = Q [ 0 ] . rowIndex ; ma = b . jgrid . getCellIndex ( Y ) ; a . p . ondblClickRow . call ( a , b ( Q ) . attr ( "id" ) , la , ma , d ) ; return false } ) ; b . isFunction ( this . p . onRightClickRow ) && b ( this ) . bind ( "contextmenu" , function ( d ) { Y = d . target ; Q = b ( Y , a . rows ) . closest ( "tr.jqgrow" ) ; if ( b ( Q ) . length === 0 ) return false ;
a . p . multiselect || b ( a ) . jqGrid ( "setSelection" , Q [ 0 ] . id , true ) ; la = Q [ 0 ] . rowIndex ; ma = b . jgrid . getCellIndex ( Y ) ; a . p . onRightClickRow . call ( a , b ( Q ) . attr ( "id" ) , la , ma , d ) ; return false } ) ; h . bDiv = document . createElement ( "div" ) ; if ( y ) if ( String ( a . p . height ) . toLowerCase ( ) === "auto" ) a . p . height = "100%" ; b ( h . bDiv ) . append ( b ( '<div style="position:relative;' + ( y && b . browser . version < 8 ? "height:0.01%;" : "" ) + '"></div>' ) . append ( "<div></div>" ) . append ( this ) ) . addClass ( "ui-jqgrid-bdiv" ) . css ( { height : a . p . height + ( isNaN ( a . p . height ) ? "" : "px" ) , width : h . width +
"px" } ) . scroll ( h . scrollGrid ) ; b ( "table:first" , h . bDiv ) . css ( { width : a . p . tblwidth + "px" } ) ; if ( y ) { b ( "tbody" , this ) . size ( ) == 2 && b ( "tbody:gt(0)" , this ) . remove ( ) ; a . p . multikey && b ( h . bDiv ) . bind ( "selectstart" , function ( ) { return false } ) } else a . p . multikey && b ( h . bDiv ) . bind ( "mousedown" , function ( ) { return false } ) ; ea && b ( h . bDiv ) . hide ( ) ; h . cDiv = document . createElement ( "div" ) ; var Ba = a . p . hidegrid === true ? b ( "<a role='link' href='javascript:void(0)'/>" ) . addClass ( "ui-jqgrid-titlebar-close HeaderButton" ) . hover ( function ( ) { Ba . addClass ( "ui-state-hover" ) } ,
function ( ) { Ba . removeClass ( "ui-state-hover" ) } ) . append ( "<span class='ui-icon ui-icon-circle-triangle-n'></span>" ) . css ( l == "rtl" ? "left" : "right" , "0px" ) : "" ; b ( h . cDiv ) . append ( Ba ) . append ( "<span class='ui-jqgrid-title" + ( l == "rtl" ? "-rtl" : "" ) + "'>" + a . p . caption + "</span>" ) . addClass ( "ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix" ) ; b ( h . cDiv ) . insertBefore ( h . hDiv ) ; if ( a . p . toolbar [ 0 ] ) { h . uDiv = document . createElement ( "div" ) ; if ( a . p . toolbar [ 1 ] == "top" ) b ( h . uDiv ) . insertBefore ( h . hDiv ) ; else a . p . toolbar [ 1 ] ==
"bottom" && b ( h . uDiv ) . insertAfter ( h . hDiv ) ; if ( a . p . toolbar [ 1 ] == "both" ) { h . ubDiv = document . createElement ( "div" ) ; b ( h . uDiv ) . insertBefore ( h . hDiv ) . addClass ( "ui-userdata ui-state-default" ) . attr ( "id" , "t_" + this . id ) ; b ( h . ubDiv ) . insertAfter ( h . hDiv ) . addClass ( "ui-userdata ui-state-default" ) . attr ( "id" , "tb_" + this . id ) ; ea && b ( h . ubDiv ) . hide ( ) } else b ( h . uDiv ) . width ( h . width ) . addClass ( "ui-userdata ui-state-default" ) . attr ( "id" , "t_" + this . id ) ; ea && b ( h . uDiv ) . hide ( ) } if ( a . p . toppager ) { a . p . toppager = b . jgrid . jqID ( a . p . id ) + "_toppager" ; h . topDiv =
b ( "<div id='" + a . p . toppager + "'></div>" ) [ 0 ] ; a . p . toppager = "#" + a . p . toppager ; b ( h . topDiv ) . insertBefore ( h . hDiv ) . addClass ( "ui-state-default ui-jqgrid-toppager" ) . width ( h . width ) ; x ( a . p . toppager , "_t" ) } if ( a . p . footerrow ) { h . sDiv = b ( "<div class='ui-jqgrid-sdiv'></div>" ) [ 0 ] ; k = b ( "<div class='ui-jqgrid-hbox" + ( l == "rtl" ? "-rtl" : "" ) + "'></div>" ) ; b ( h . sDiv ) . append ( k ) . insertAfter ( h . hDiv ) . width ( h . width ) ; b ( k ) . append ( wa ) ; h . footers = b ( ".ui-jqgrid-ftable" , h . sDiv ) [ 0 ] . rows [ 0 ] . cells ; if ( a . p . rownumbers ) h . footers [ 0 ] . className = "ui-state-default jqgrid-rownum" ;
ea && b ( h . sDiv ) . hide ( ) } k = null ; if ( a . p . caption ) { var Ja = a . p . datatype ; if ( a . p . hidegrid === true ) { b ( ".ui-jqgrid-titlebar-close" , h . cDiv ) . click ( function ( d ) { var f = b . isFunction ( a . p . onHeaderClick ) , j = ".ui-jqgrid-bdiv, .ui-jqgrid-hdiv, .ui-jqgrid-pager, .ui-jqgrid-sdiv" , m , p = this ; if ( a . p . toolbar [ 0 ] === true ) { if ( a . p . toolbar [ 1 ] == "both" ) j += ", #" + b ( h . ubDiv ) . attr ( "id" ) ; j += ", #" + b ( h . uDiv ) . attr ( "id" ) } m = b ( j , "#gview_" + b . jgrid . jqID ( a . p . id ) ) . length ; if ( a . p . gridstate == "visible" ) b ( j , "#gbox_" + b . jgrid . jqID ( a . p . id ) ) . slideUp ( "fast" , function ( ) { m -- ;
if ( m === 0 ) { b ( "span" , p ) . removeClass ( "ui-icon-circle-triangle-n" ) . addClass ( "ui-icon-circle-triangle-s" ) ; a . p . gridstate = "hidden" ; b ( "#gbox_" + b . jgrid . jqID ( a . p . id ) ) . hasClass ( "ui-resizable" ) && b ( ".ui-resizable-handle" , "#gbox_" + b . jgrid . jqID ( a . p . id ) ) . hide ( ) ; if ( f ) ea || a . p . onHeaderClick . call ( a , a . p . gridstate , d ) } } ) ; else a . p . gridstate == "hidden" && b ( j , "#gbox_" + b . jgrid . jqID ( a . p . id ) ) . slideDown ( "fast" , function ( ) { m -- ; if ( m === 0 ) { b ( "span" , p ) . removeClass ( "ui-icon-circle-triangle-s" ) . addClass ( "ui-icon-circle-triangle-n" ) ; if ( ea ) { a . p . datatype =
Ja ; ka ( ) ; ea = false } a . p . gridstate = "visible" ; b ( "#gbox_" + b . jgrid . jqID ( a . p . id ) ) . hasClass ( "ui-resizable" ) && b ( ".ui-resizable-handle" , "#gbox_" + b . jgrid . jqID ( a . p . id ) ) . show ( ) ; if ( f ) ea || a . p . onHeaderClick . call ( a , a . p . gridstate , d ) } } ) ; return false } ) ; if ( ea ) { a . p . datatype = "local" ; b ( ".ui-jqgrid-titlebar-close" , h . cDiv ) . trigger ( "click" ) } } } else b ( h . cDiv ) . hide ( ) ; b ( h . hDiv ) . after ( h . bDiv ) . mousemove ( function ( d ) { if ( h . resizing ) { h . dragMove ( d ) ; return false } } ) ; b ( ".ui-jqgrid-labels" , h . hDiv ) . bind ( "selectstart" , function ( ) { return false } ) ;
b ( document ) . mouseup ( function ( ) { if ( h . resizing ) { h . dragEnd ( ) ; return false } return true } ) ; a . formatCol = N ; a . sortData = Ea ; a . updatepager = function ( d , f ) { var j , m , p , C , s , A , z , u = "" , w = a . p . pager ? "_" + b . jgrid . jqID ( a . p . pager . substr ( 1 ) ) : "" , r = a . p . toppager ? "_" + a . p . toppager . substr ( 1 ) : "" ; p = parseInt ( a . p . page , 10 ) - 1 ; if ( p < 0 ) p = 0 ; p *= parseInt ( a . p . rowNum , 10 ) ; s = p + a . p . reccount ; if ( a . p . scroll ) { j = b ( "tbody:first > tr:gt(0)" , a . grid . bDiv ) ; p = s - j . length ; a . p . reccount = j . length ; if ( m = j . outerHeight ( ) || a . grid . prevRowHeight ) { j = p * m ; m *= parseInt ( a . p . records ,
10 ) ; b ( ">div:first" , a . grid . bDiv ) . css ( { height : m } ) . children ( "div:first" ) . css ( { height : j , display : j ? "" : "none" } ) } a . grid . bDiv . scrollLeft = a . grid . hDiv . scrollLeft } u = a . p . pager ? a . p . pager : "" ; u += a . p . toppager ? u ? "," + a . p . toppager : a . p . toppager : "" ; if ( u ) { z = b . jgrid . formatter . integer || { } ; j = M ( a . p . page ) ; m = M ( a . p . lastpage ) ; b ( ".selbox" , u ) [ this . p . useProp ? "prop" : "attr" ] ( "disabled" , false ) ; if ( a . p . pginput === true ) { b ( ".ui-pg-input" , u ) . val ( a . p . page ) ; C = a . p . toppager ? "#sp_1" + w + ",#sp_1" + r : "#sp_1" + w ; b ( C ) . html ( b . fmatter ? b . fmatter . util . NumberFormat ( a . p . lastpage ,
z ) : a . p . lastpage ) } if ( a . p . viewrecords ) if ( a . p . reccount === 0 ) b ( ".ui-paging-info" , u ) . html ( a . p . emptyrecords ) ; else { C = p + 1 ; A = a . p . records ; if ( b . fmatter ) { C = b . fmatter . util . NumberFormat ( C , z ) ; s = b . fmatter . util . NumberFormat ( s , z ) ; A = b . fmatter . util . NumberFormat ( A , z ) } b ( ".ui-paging-info" , u ) . html ( b . jgrid . format ( a . p . recordtext , C , s , A ) ) } if ( a . p . pgbuttons === true ) { if ( j <= 0 ) j = m = 0 ; if ( j == 1 || j === 0 ) { b ( "#first" + w + ", #prev" + w ) . addClass ( "ui-state-disabled" ) . removeClass ( "ui-state-hover" ) ; a . p . toppager && b ( "#first_t" + r + ", #prev_t" + r ) . addClass ( "ui-state-disabled" ) . removeClass ( "ui-state-hover" ) } else { b ( "#first" +
w + ", #prev" + w ) . removeClass ( "ui-state-disabled" ) ; a . p . toppager && b ( "#first_t" + r + ", #prev_t" + r ) . removeClass ( "ui-state-disabled" ) } if ( j == m || j === 0 ) { b ( "#next" + w + ", #last" + w ) . addClass ( "ui-state-disabled" ) . removeClass ( "ui-state-hover" ) ; a . p . toppager && b ( "#next_t" + r + ", #last_t" + r ) . addClass ( "ui-state-disabled" ) . removeClass ( "ui-state-hover" ) } else { b ( "#next" + w + ", #last" + w ) . removeClass ( "ui-state-disabled" ) ; a . p . toppager && b ( "#next_t" + r + ", #last_t" + r ) . removeClass ( "ui-state-disabled" ) } } } d === true && a . p . rownumbers === true &&
b ( "td.jqgrid-rownum" , a . rows ) . each ( function ( G ) { b ( this ) . html ( p + 1 + G ) } ) ; f && a . p . jqgdnd && b ( a ) . jqGrid ( "gridDnD" , "updateDnD" ) ; b . isFunction ( a . p . gridComplete ) && a . p . gridComplete . call ( a ) ; b . isFunction ( a . p . _complete ) && a . p . _complete . call ( a ) } ; a . refreshIndex = ca ; a . setHeadCheckBox = sa ; a . formatter = function ( d , f , j , m , p ) { return o ( d , f , j , m , p ) } ; b . extend ( h , { populate : ka , emptyRows : D } ) ; this . grid = h ; a . addXmlData = function ( d ) { X ( d , a . grid . bDiv ) } ; a . addJSONData = function ( d ) { fa ( d , a . grid . bDiv ) } ; this . grid . cols = this . rows [ 0 ] . cells ; ka ( ) ; a . p . hiddengrid =
false ; b ( window ) . unload ( function ( ) { a = null } ) } } } } ) } ; b . jgrid . extend ( { getGridParam : function ( e ) { var i = this [ 0 ] ; if ( i && i . grid ) return e ? typeof i . p [ e ] != "undefined" ? i . p [ e ] : null : i . p } , setGridParam : function ( e ) { return this . each ( function ( ) { this . grid && typeof e === "object" && b . extend ( true , this . p , e ) } ) } , getDataIDs : function ( ) { var e = [ ] , i = 0 , g , c = 0 ; this . each ( function ( ) { if ( ( g = this . rows . length ) && g > 0 ) for ( ; i < g ; ) { if ( b ( this . rows [ i ] ) . hasClass ( "jqgrow" ) ) { e [ c ] = this . rows [ i ] . id ; c ++ } i ++ } } ) ; return e } , setSelection : function ( e , i ) { return this . each ( function ( ) { function g ( x ) { var y =
b ( c . grid . bDiv ) [ 0 ] . clientHeight , E = b ( c . grid . bDiv ) [ 0 ] . scrollTop , I = c . rows [ x ] . offsetTop ; x = c . rows [ x ] . clientHeight ; if ( I + x >= y + E ) b ( c . grid . bDiv ) [ 0 ] . scrollTop = I - ( y + E ) + x + E ; else if ( I < y + E ) if ( I < E ) b ( c . grid . bDiv ) [ 0 ] . scrollTop = I } var c = this , h , k , l , a , q ; if ( e !== undefined ) { i = i === false ? false : true ; k = c . rows . namedItem ( e + "" ) ; if ( ! ( ! k || ! k . className || k . className . indexOf ( "ui-state-disabled" ) > - 1 ) ) { if ( c . p . scrollrows === true ) { h = c . rows . namedItem ( e ) . rowIndex ; h >= 0 && g ( h ) } if ( c . p . frozenColumns === true ) q = c . p . id + "_frozen" ; if ( c . p . multiselect ) { c . setHeadCheckBox ( false ) ;
c . p . selrow = k . id ; l = b . inArray ( c . p . selrow , c . p . selarrrow ) ; if ( l === - 1 ) { k . className !== "ui-subgrid" && b ( k ) . addClass ( "ui-state-highlight" ) . attr ( "aria-selected" , "true" ) ; h = true ; c . p . selarrrow . push ( c . p . selrow ) } else { k . className !== "ui-subgrid" && b ( k ) . removeClass ( "ui-state-highlight" ) . attr ( "aria-selected" , "false" ) ; h = false ; c . p . selarrrow . splice ( l , 1 ) ; a = c . p . selarrrow [ 0 ] ; c . p . selrow = a === undefined ? null : a } b ( "#jqg_" + b . jgrid . jqID ( c . p . id ) + "_" + b . jgrid . jqID ( c . p . selrow ) ) [ c . p . useProp ? "prop" : "attr" ] ( "checked" , h ) ; if ( q ) { l === - 1 ? b ( "#" +
b . jgrid . jqID ( e ) , "#" + b . jgrid . jqID ( q ) ) . addClass ( "ui-state-highlight" ) : b ( "#" + b . jgrid . jqID ( e ) , "#" + b . jgrid . jqID ( q ) ) . removeClass ( "ui-state-highlight" ) ; b ( "#jqg_" + b . jgrid . jqID ( c . p . id ) + "_" + b . jgrid . jqID ( e ) , "#" + b . jgrid . jqID ( q ) ) [ c . p . useProp ? "prop" : "attr" ] ( "checked" , h ) } c . p . onSelectRow && i && c . p . onSelectRow . call ( c , k . id , h ) } else if ( k . className !== "ui-subgrid" ) { if ( c . p . selrow != k . id ) { b ( c . rows . namedItem ( c . p . selrow ) ) . removeClass ( "ui-state-highlight" ) . attr ( { "aria-selected" : "false" , tabindex : "-1" } ) ; b ( k ) . addClass ( "ui-state-highlight" ) . attr ( { "aria-selected" : "true" ,
tabindex : "0" } ) ; if ( q ) { b ( "#" + b . jgrid . jqID ( c . p . selrow ) , "#" + b . jgrid . jqID ( q ) ) . removeClass ( "ui-state-highlight" ) ; b ( "#" + b . jgrid . jqID ( e ) , "#" + b . jgrid . jqID ( q ) ) . addClass ( "ui-state-highlight" ) } h = true } else h = false ; c . p . selrow = k . id ; c . p . onSelectRow && i && c . p . onSelectRow . call ( c , k . id , h ) } } } } ) } , resetSelection : function ( e ) { return this . each ( function ( ) { var i = this , g , c ; if ( typeof e !== "undefined" ) { c = e === i . p . selrow ? i . p . selrow : e ; b ( "#" + b . jgrid . jqID ( i . p . id ) + " tbody:first tr#" + b . jgrid . jqID ( c ) ) . removeClass ( "ui-state-highlight" ) . attr ( "aria-selected" ,
"false" ) ; if ( i . p . multiselect ) { b ( "#jqg_" + b . jgrid . jqID ( i . p . id ) + "_" + b . jgrid . jqID ( c ) ) [ i . p . useProp ? "prop" : "attr" ] ( "checked" , false ) ; i . setHeadCheckBox ( false ) } c = null } else if ( i . p . multiselect ) { b ( i . p . selarrrow ) . each ( function ( h , k ) { g = i . rows . namedItem ( k ) ; b ( g ) . removeClass ( "ui-state-highlight" ) . attr ( "aria-selected" , "false" ) ; b ( "#jqg_" + b . jgrid . jqID ( i . p . id ) + "_" + b . jgrid . jqID ( k ) ) [ i . p . useProp ? "prop" : "attr" ] ( "checked" , false ) } ) ; i . setHeadCheckBox ( false ) ; i . p . selarrrow = [ ] } else if ( i . p . selrow ) { b ( "#" + b . jgrid . jqID ( i . p . id ) + " tbody:first tr#" +
b . jgrid . jqID ( i . p . selrow ) ) . removeClass ( "ui-state-highlight" ) . attr ( "aria-selected" , "false" ) ; i . p . selrow = null } if ( i . p . cellEdit === true ) if ( parseInt ( i . p . iCol , 10 ) >= 0 && parseInt ( i . p . iRow , 10 ) >= 0 ) { b ( "td:eq(" + i . p . iCol + ")" , i . rows [ i . p . iRow ] ) . removeClass ( "edit-cell ui-state-highlight" ) ; b ( i . rows [ i . p . iRow ] ) . removeClass ( "selected-row ui-state-hover" ) } i . p . savedRow = [ ] } ) } , getRowData : function ( e ) { var i = { } , g , c = false , h , k = 0 ; this . each ( function ( ) { var l = this , a , q ; if ( typeof e == "undefined" ) { c = true ; g = [ ] ; h = l . rows . length } else { q = l . rows . namedItem ( e ) ;
if ( ! q ) return i ; h = 2 } for ( ; k < h ; ) { if ( c ) q = l . rows [ k ] ; if ( b ( q ) . hasClass ( "jqgrow" ) ) { b ( "td" , q ) . each ( function ( x ) { a = l . p . colModel [ x ] . name ; if ( a !== "cb" && a !== "subgrid" && a !== "rn" ) if ( l . p . treeGrid === true && a == l . p . ExpandColumn ) i [ a ] = b . jgrid . htmlDecode ( b ( "span:first" , this ) . html ( ) ) ; else try { i [ a ] = b . unformat ( this , { rowId : q . id , colModel : l . p . colModel [ x ] } , x ) } catch ( y ) { i [ a ] = b . jgrid . htmlDecode ( b ( this ) . html ( ) ) } } ) ; if ( c ) { g . push ( i ) ; i = { } } } k ++ } } ) ; return g ? g : i } , delRowData : function ( e ) { var i = false , g , c ; this . each ( function ( ) { if ( g = this . rows . namedItem ( e ) ) { b ( g ) . remove ( ) ;
this . p . records -- ; this . p . reccount -- ; this . updatepager ( true , false ) ; i = true ; if ( this . p . multiselect ) { c = b . inArray ( e , this . p . selarrrow ) ; c != - 1 && this . p . selarrrow . splice ( c , 1 ) } if ( e == this . p . selrow ) this . p . selrow = null } else return false ; if ( this . p . datatype == "local" ) { var h = this . p . _index [ e ] ; if ( typeof h != "undefined" ) { this . p . data . splice ( h , 1 ) ; this . refreshIndex ( ) } } if ( this . p . altRows === true && i ) { var k = this . p . altclass ; b ( this . rows ) . each ( function ( l ) { l % 2 == 1 ? b ( this ) . addClass ( k ) : b ( this ) . removeClass ( k ) } ) } } ) ; return i } , setRowData : function ( e ,
i , g ) { var c , h = true , k ; this . each ( function ( ) { if ( ! this . grid ) return false ; var l = this , a , q , x = typeof g , y = { } ; q = l . rows . namedItem ( e ) ; if ( ! q ) return false ; if ( i ) try { b ( this . p . colModel ) . each ( function ( N ) { c = this . name ; if ( i [ c ] !== undefined ) { y [ c ] = this . formatter && typeof this . formatter === "string" && this . formatter == "date" ? b . unformat . date ( i [ c ] , this ) : i [ c ] ; a = l . formatter ( e , i [ c ] , N , i , "edit" ) ; k = this . title ? { title : b . jgrid . stripHtml ( a ) } : { } ; l . p . treeGrid === true && c == l . p . ExpandColumn ? b ( "td:eq(" + N + ") > span:first" , q ) . html ( a ) . attr ( k ) : b ( "td:eq(" +
N + ")" , q ) . html ( a ) . attr ( k ) } } ) ; if ( l . p . datatype == "local" ) { var E = l . p . _index [ e ] ; if ( l . p . treeGrid ) for ( var I in l . p . treeReader ) y . hasOwnProperty ( l . p . treeReader [ I ] ) && delete y [ l . p . treeReader [ I ] ] ; if ( typeof E != "undefined" ) l . p . data [ E ] = b . extend ( true , l . p . data [ E ] , y ) ; y = null } } catch ( M ) { h = false } if ( h ) { if ( x === "string" ) b ( q ) . addClass ( g ) ; else x === "object" && b ( q ) . css ( g ) ; b . isFunction ( l . p . _complete ) && l . p . _complete . call ( l ) } } ) ; return h } , addRowData : function ( e , i , g , c ) { g || ( g = "last" ) ; var h = false , k , l , a , q , x , y , E , I , M = "" , N , V , o , n , t ; if ( i ) { if ( b . isArray ( i ) ) { N =
true ; g = "last" ; V = e } else { i = [ i ] ; N = false } this . each ( function ( ) { var F = i . length ; x = this . p . rownumbers === true ? 1 : 0 ; a = this . p . multiselect === true ? 1 : 0 ; q = this . p . subGrid === true ? 1 : 0 ; if ( ! N ) if ( typeof e != "undefined" ) e += "" ; else { e = b . jgrid . randId ( ) ; if ( this . p . keyIndex !== false ) { V = this . p . colModel [ this . p . keyIndex + a + q + x ] . name ; if ( typeof i [ 0 ] [ V ] != "undefined" ) e = i [ 0 ] [ V ] } } o = this . p . altclass ; for ( var T = 0 , J = "" , D = { } , ca = b . isFunction ( this . p . afterInsertRow ) ? true : false ; T < F ; ) { n = i [ T ] ; l = "" ; if ( N ) { try { e = n [ V ] } catch ( X ) { e = b . jgrid . randId ( ) } J = this . p . altRows ===
true ? ( this . rows . length - 1 ) % 2 === 0 ? o : "" : "" } e = this . p . idPrefix + e ; if ( x ) { M = this . formatCol ( 0 , 1 , "" , null , e , true ) ; l += '<td role="gridcell" aria-describedby="' + this . p . id + '_rn" class="ui-state-default jqgrid-rownum" ' + M + ">0</td>" } if ( a ) { I = '<input role="checkbox" type="checkbox" id="jqg_' + this . p . id + "_" + e + '" class="cbox"/>' ; M = this . formatCol ( x , 1 , "" , null , e , true ) ; l += '<td role="gridcell" aria-describedby="' + this . p . id + '_cb" ' + M + ">" + I + "</td>" } if ( q ) l += b ( this ) . jqGrid ( "addSubGridCell" , a + x , 1 ) ; for ( E = a + q + x ; E < this . p . colModel . length ; E ++ ) { t =
this . p . colModel [ E ] ; k = t . name ; D [ k ] = t . formatter && typeof t . formatter === "string" && t . formatter == "date" ? b . unformat . date ( n [ k ] , t ) : n [ k ] ; I = this . formatter ( e , b . jgrid . getAccessor ( n , k ) , E , n , "edit" ) ; M = this . formatCol ( E , 1 , I , n , e , true ) ; l += '<td role="gridcell" aria-describedby="' + this . p . id + "_" + k + '" ' + M + ">" + I + "</td>" } l = '<tr id="' + e + '" role="row" tabindex="-1" class="ui-widget-content jqgrow ui-row-' + this . p . direction + " " + J + '">' + l + "</tr>" ; if ( this . rows . length === 0 ) b ( "table:first" , this . grid . bDiv ) . append ( l ) ; else switch ( g ) { case "last" : b ( this . rows [ this . rows . length -
1 ] ) . after ( l ) ; y = this . rows . length - 1 ; break ; case "first" : b ( this . rows [ 0 ] ) . after ( l ) ; y = 1 ; break ; case "after" : if ( y = this . rows . namedItem ( c ) ) b ( this . rows [ y . rowIndex + 1 ] ) . hasClass ( "ui-subgrid" ) ? b ( this . rows [ y . rowIndex + 1 ] ) . after ( l ) : b ( y ) . after ( l ) ; y ++ ; break ; case "before" : if ( y = this . rows . namedItem ( c ) ) { b ( y ) . before ( l ) ; y = y . rowIndex } y -- } this . p . subGrid === true && b ( this ) . jqGrid ( "addSubGrid" , a + x , y ) ; this . p . records ++ ; this . p . reccount ++ ; ca && this . p . afterInsertRow . call ( this , e , n , n ) ; T ++ ; if ( this . p . datatype == "local" ) { D [ this . p . localReader . id ] =
e ; this . p . _index [ e ] = this . p . data . length ; this . p . data . push ( D ) ; D = { } } } if ( this . p . altRows === true && ! N ) if ( g == "last" ) ( this . rows . length - 1 ) % 2 == 1 && b ( this . rows [ this . rows . length - 1 ] ) . addClass ( o ) ; else b ( this . rows ) . each ( function ( fa ) { fa % 2 == 1 ? b ( this ) . addClass ( o ) : b ( this ) . removeClass ( o ) } ) ; this . updatepager ( true , true ) ; h = true } ) } return h } , footerData : function ( e , i , g ) { function c ( q ) { for ( var x in q ) if ( q . hasOwnProperty ( x ) ) return false ; return true } var h , k = false , l = { } , a ; if ( typeof e == "undefined" ) e = "get" ; if ( typeof g != "boolean" ) g = true ;
e = e . toLowerCase ( ) ; this . each ( function ( ) { var q = this , x ; if ( ! q . grid || ! q . p . footerrow ) return false ; if ( e == "set" ) if ( c ( i ) ) return false ; k = true ; b ( this . p . colModel ) . each ( function ( y ) { h = this . name ; if ( e == "set" ) { if ( i [ h ] !== undefined ) { x = g ? q . formatter ( "" , i [ h ] , y , i , "edit" ) : i [ h ] ; a = this . title ? { title : b . jgrid . stripHtml ( x ) } : { } ; b ( "tr.footrow td:eq(" + y + ")" , q . grid . sDiv ) . html ( x ) . attr ( a ) ; k = true } } else if ( e == "get" ) l [ h ] = b ( "tr.footrow td:eq(" + y + ")" , q . grid . sDiv ) . html ( ) } ) } ) ; return e == "get" ? l : k } , showHideCol : function ( e , i ) { return this . each ( function ( ) { var g =
this , c = false , h = b . browser . webkit || b . browser . safari ? 0 : g . p . cellLayout , k ; if ( g . grid ) { if ( typeof e === "string" ) e = [ e ] ; i = i != "none" ? "" : "none" ; var l = i === "" ? true : false , a = g . p . groupHeader && ( typeof g . p . groupHeader === "object" || b . isFunction ( g . p . groupHeader ) ) ; a && b ( g ) . jqGrid ( "destroyGroupHeader" , false ) ; b ( this . p . colModel ) . each ( function ( q ) { if ( b . inArray ( this . name , e ) !== - 1 && this . hidden === l ) { if ( g . p . frozenColumns === true && this . frozen === true ) return true ; b ( "tr" , g . grid . hDiv ) . each ( function ( ) { b ( this . cells [ q ] ) . css ( "display" , i ) } ) ;
b ( g . rows ) . each ( function ( ) { b ( this . cells [ q ] ) . css ( "display" , i ) } ) ; g . p . footerrow && b ( "tr.footrow td:eq(" + q + ")" , g . grid . sDiv ) . css ( "display" , i ) ; k = this . widthOrg ? this . widthOrg : parseInt ( this . width , 10 ) ; if ( i === "none" ) g . p . tblwidth -= k + h ; else g . p . tblwidth += k + h ; this . hidden = ! l ; c = true } } ) ; if ( c === true ) b ( g ) . jqGrid ( "setGridWidth" , g . p . shrinkToFit === true ? g . p . tblwidth : g . p . width ) ; a && b ( g ) . jqGrid ( "setGroupHeaders" , g . p . groupHeader ) } } ) } , hideCol : function ( e ) { return this . each ( function ( ) { b ( this ) . jqGrid ( "showHideCol" , e , "none" ) } ) } , showCol : function ( e ) { return this . each ( function ( ) { b ( this ) . jqGrid ( "showHideCol" ,
e , "" ) } ) } , remapColumns : function ( e , i , g ) { function c ( l ) { var a ; a = l . length ? b . makeArray ( l ) : b . extend ( { } , l ) ; b . each ( e , function ( q ) { l [ q ] = a [ this ] } ) } function h ( l , a ) { b ( ">tr" + ( a || "" ) , l ) . each ( function ( ) { var q = this , x = b . makeArray ( q . cells ) ; b . each ( e , function ( ) { var y = x [ this ] ; y && q . appendChild ( y ) } ) } ) } var k = this . get ( 0 ) ; c ( k . p . colModel ) ; c ( k . p . colNames ) ; c ( k . grid . headers ) ; h ( b ( "thead:first" , k . grid . hDiv ) , g && ":not(.ui-jqgrid-labels)" ) ; i && h ( b ( "#" + b . jgrid . jqID ( k . p . id ) + " tbody:first" ) , ".jqgfirstrow, tr.jqgrow, tr.jqfoot" ) ; k . p . footerrow &&
h ( b ( "tbody:first" , k . grid . sDiv ) ) ; if ( k . p . remapColumns ) if ( k . p . remapColumns . length ) c ( k . p . remapColumns ) ; else k . p . remapColumns = b . makeArray ( e ) ; k . p . lastsort = b . inArray ( k . p . lastsort , e ) ; if ( k . p . treeGrid ) k . p . expColInd = b . inArray ( k . p . expColInd , e ) } , setGridWidth : function ( e , i ) { return this . each ( function ( ) { if ( this . grid ) { var g = this , c , h = 0 , k = b . browser . webkit || b . browser . safari ? 0 : g . p . cellLayout , l , a = 0 , q = false , x = g . p . scrollOffset , y , E = 0 , I = 0 , M ; if ( typeof i != "boolean" ) i = g . p . shrinkToFit ; if ( ! isNaN ( e ) ) { e = parseInt ( e , 10 ) ; g . grid . width =
g . p . width = e ; b ( "#gbox_" + b . jgrid . jqID ( g . p . id ) ) . css ( "width" , e + "px" ) ; b ( "#gview_" + b . jgrid . jqID ( g . p . id ) ) . css ( "width" , e + "px" ) ; b ( g . grid . bDiv ) . css ( "width" , e + "px" ) ; b ( g . grid . hDiv ) . css ( "width" , e + "px" ) ; g . p . pager && b ( g . p . pager ) . css ( "width" , e + "px" ) ; g . p . toppager && b ( g . p . toppager ) . css ( "width" , e + "px" ) ; if ( g . p . toolbar [ 0 ] === true ) { b ( g . grid . uDiv ) . css ( "width" , e + "px" ) ; g . p . toolbar [ 1 ] == "both" && b ( g . grid . ubDiv ) . css ( "width" , e + "px" ) } g . p . footerrow && b ( g . grid . sDiv ) . css ( "width" , e + "px" ) ; if ( i === false && g . p . forceFit === true ) g . p . forceFit =
false ; if ( i === true ) { b . each ( g . p . colModel , function ( ) { if ( this . hidden === false ) { c = this . widthOrg ? this . widthOrg : parseInt ( this . width , 10 ) ; h += c + k ; if ( this . fixed ) E += c + k ; else a ++ ; I ++ } } ) ; if ( a === 0 ) return ; g . p . tblwidth = h ; y = e - k * a - E ; if ( ! isNaN ( g . p . height ) ) if ( b ( g . grid . bDiv ) [ 0 ] . clientHeight < b ( g . grid . bDiv ) [ 0 ] . scrollHeight || g . rows . length === 1 ) { q = true ; y -= x } h = 0 ; var N = g . grid . cols . length > 0 ; b . each ( g . p . colModel , function ( V ) { if ( this . hidden === false && ! this . fixed ) { c = this . widthOrg ? this . widthOrg : parseInt ( this . width , 10 ) ; c = Math . round ( y *
c / ( g . p . tblwidth - k * a - E ) ) ; if ( ! ( c < 0 ) ) { this . width = c ; h += c ; g . grid . headers [ V ] . width = c ; g . grid . headers [ V ] . el . style . width = c + "px" ; if ( g . p . footerrow ) g . grid . footers [ V ] . style . width = c + "px" ; if ( N ) g . grid . cols [ V ] . style . width = c + "px" ; l = V } } } ) ; if ( ! l ) return ; M = 0 ; if ( q ) { if ( e - E - ( h + k * a ) !== x ) M = e - E - ( h + k * a ) - x } else if ( Math . abs ( e - E - ( h + k * a ) ) !== 1 ) M = e - E - ( h + k * a ) ; g . p . colModel [ l ] . width += M ; g . p . tblwidth = h + M + k * a + E ; if ( g . p . tblwidth > e ) { q = g . p . tblwidth - parseInt ( e , 10 ) ; g . p . tblwidth = e ; c = g . p . colModel [ l ] . width -= q } else c = g . p . colModel [ l ] . width ; g . grid . headers [ l ] . width =
c ; g . grid . headers [ l ] . el . style . width = c + "px" ; if ( N ) g . grid . cols [ l ] . style . width = c + "px" ; if ( g . p . footerrow ) g . grid . footers [ l ] . style . width = c + "px" } if ( g . p . tblwidth ) { b ( "table:first" , g . grid . bDiv ) . css ( "width" , g . p . tblwidth + "px" ) ; b ( "table:first" , g . grid . hDiv ) . css ( "width" , g . p . tblwidth + "px" ) ; g . grid . hDiv . scrollLeft = g . grid . bDiv . scrollLeft ; g . p . footerrow && b ( "table:first" , g . grid . sDiv ) . css ( "width" , g . p . tblwidth + "px" ) } } } } ) } , setGridHeight : function ( e ) { return this . each ( function ( ) { if ( this . grid ) { b ( this . grid . bDiv ) . css ( { height : e + ( isNaN ( e ) ?
"" : "px" ) } ) ; this . p . height = e ; this . p . scroll && this . grid . populateVisible ( ) } } ) } , setCaption : function ( e ) { return this . each ( function ( ) { this . p . caption = e ; b ( "span.ui-jqgrid-title, span.ui-jqgrid-title-rtl" , this . grid . cDiv ) . html ( e ) ; b ( this . grid . cDiv ) . show ( ) } ) } , setLabel : function ( e , i , g , c ) { return this . each ( function ( ) { var h = - 1 ; if ( this . grid ) if ( typeof e != "undefined" ) { b ( this . p . colModel ) . each ( function ( a ) { if ( this . name == e ) { h = a ; return false } } ) ; if ( h >= 0 ) { var k = b ( "tr.ui-jqgrid-labels th:eq(" + h + ")" , this . grid . hDiv ) ; if ( i ) { var l =
b ( ".s-ico" , k ) ; b ( "[id^=jqgh_]" , k ) . empty ( ) . html ( i ) . append ( l ) ; this . p . colNames [ h ] = i } if ( g ) typeof g === "string" ? b ( k ) . addClass ( g ) : b ( k ) . css ( g ) ; typeof c === "object" && b ( k ) . attr ( c ) } } } ) } , setCell : function ( e , i , g , c , h , k ) { return this . each ( function ( ) { var l = - 1 , a , q ; if ( this . grid ) { if ( isNaN ( i ) ) b ( this . p . colModel ) . each ( function ( y ) { if ( this . name == i ) { l = y ; return false } } ) ; else l = parseInt ( i , 10 ) ; if ( l >= 0 ) if ( a = this . rows . namedItem ( e ) ) { var x = b ( "td:eq(" + l + ")" , a ) ; if ( g !== "" || k === true ) { a = this . formatter ( e , g , l , a , "edit" ) ; q = this . p . colModel [ l ] . title ?
{ title : b . jgrid . stripHtml ( a ) } : { } ; this . p . treeGrid && b ( ".tree-wrap" , b ( x ) ) . length > 0 ? b ( "span" , b ( x ) ) . html ( a ) . attr ( q ) : b ( x ) . html ( a ) . attr ( q ) ; if ( this . p . datatype == "local" ) { a = this . p . colModel [ l ] ; g = a . formatter && typeof a . formatter === "string" && a . formatter == "date" ? b . unformat . date ( g , a ) : g ; q = this . p . _index [ e ] ; if ( typeof q != "undefined" ) this . p . data [ q ] [ a . name ] = g } } if ( typeof c === "string" ) b ( x ) . addClass ( c ) ; else c && b ( x ) . css ( c ) ; typeof h === "object" && b ( x ) . attr ( h ) } } } ) } , getCell : function ( e , i ) { var g = false ; this . each ( function ( ) { var c = - 1 ;
if ( this . grid ) { if ( isNaN ( i ) ) b ( this . p . colModel ) . each ( function ( l ) { if ( this . name === i ) { c = l ; return false } } ) ; else c = parseInt ( i , 10 ) ; if ( c >= 0 ) { var h = this . rows . namedItem ( e ) ; if ( h ) try { g = b . unformat ( b ( "td:eq(" + c + ")" , h ) , { rowId : h . id , colModel : this . p . colModel [ c ] } , c ) } catch ( k ) { g = b . jgrid . htmlDecode ( b ( "td:eq(" + c + ")" , h ) . html ( ) ) } } } } ) ; return g } , getCol : function ( e , i , g ) { var c = [ ] , h , k = 0 , l , a , q ; i = typeof i != "boolean" ? false : i ; if ( typeof g == "undefined" ) g = false ; this . each ( function ( ) { var x = - 1 ; if ( this . grid ) { if ( isNaN ( e ) ) b ( this . p . colModel ) . each ( function ( M ) { if ( this . name ===
e ) { x = M ; return false } } ) ; else x = parseInt ( e , 10 ) ; if ( x >= 0 ) { var y = this . rows . length , E = 0 ; if ( y && y > 0 ) { for ( ; E < y ; ) { if ( b ( this . rows [ E ] ) . hasClass ( "jqgrow" ) ) { try { h = b . unformat ( b ( this . rows [ E ] . cells [ x ] ) , { rowId : this . rows [ E ] . id , colModel : this . p . colModel [ x ] } , x ) } catch ( I ) { h = b . jgrid . htmlDecode ( this . rows [ E ] . cells [ x ] . innerHTML ) } if ( g ) { q = parseFloat ( h ) ; k += q ; if ( E === 0 ) a = l = q ; else { l = Math . min ( l , q ) ; a = Math . max ( a , q ) } } else i ? c . push ( { id : this . rows [ E ] . id , value : h } ) : c . push ( h ) } E ++ } if ( g ) switch ( g . toLowerCase ( ) ) { case "sum" : c = k ; break ; case "avg" : c =
k / y ; break ; case "count" : c = y ; break ; case "min" : c = l ; break ; case "max" : c = a } } } } } ) ; return c } , clearGridData : function ( e ) { return this . each ( function ( ) { if ( this . grid ) { if ( typeof e != "boolean" ) e = false ; if ( this . p . deepempty ) b ( "#" + b . jgrid . jqID ( this . p . id ) + " tbody:first tr:gt(0)" ) . remove ( ) ; else { var i = b ( "#" + b . jgrid . jqID ( this . p . id ) + " tbody:first tr:first" ) [ 0 ] ; b ( "#" + b . jgrid . jqID ( this . p . id ) + " tbody:first" ) . empty ( ) . append ( i ) } this . p . footerrow && e && b ( ".ui-jqgrid-ftable td" , this . grid . sDiv ) . html ( " " ) ; this . p . selrow = null ; this . p . selarrrow =
[ ] ; this . p . savedRow = [ ] ; this . p . records = 0 ; this . p . page = 1 ; this . p . lastpage = 0 ; this . p . reccount = 0 ; this . p . data = [ ] ; this . p . _index = { } ; this . updatepager ( true , false ) } } ) } , getInd : function ( e , i ) { var g = false , c ; this . each ( function ( ) { if ( c = this . rows . namedItem ( e ) ) g = i === true ? c : c . rowIndex } ) ; return g } , bindKeys : function ( e ) { var i = b . extend ( { onEnter : null , onSpace : null , onLeftKey : null , onRightKey : null , scrollingRows : true } , e || { } ) ; return this . each ( function ( ) { var g = this ; b ( "body" ) . is ( "[role]" ) || b ( "body" ) . attr ( "role" , "application" ) ; g . p . scrollrows =
i . scrollingRows ; b ( g ) . keydown ( function ( c ) { var h = b ( g ) . find ( "tr[tabindex=0]" ) [ 0 ] , k , l , a , q = g . p . treeReader . expanded _field ; if ( h ) { a = g . p . _index [ h . id ] ; if ( c . keyCode === 37 || c . keyCode === 38 || c . keyCode === 39 || c . keyCode === 40 ) { if ( c . keyCode === 38 ) { l = h . previousSibling ; k = "" ; if ( l ) if ( b ( l ) . is ( ":hidden" ) ) for ( ; l ; ) { l = l . previousSibling ; if ( ! b ( l ) . is ( ":hidden" ) && b ( l ) . hasClass ( "jqgrow" ) ) { k = l . id ; break } } else k = l . id ; b ( g ) . jqGrid ( "setSelection" , k ) } if ( c . keyCode === 40 ) { l = h . nextSibling ; k = "" ; if ( l ) if ( b ( l ) . is ( ":hidden" ) ) for ( ; l ; ) { l = l . nextSibling ;
if ( ! b ( l ) . is ( ":hidden" ) && b ( l ) . hasClass ( "jqgrow" ) ) { k = l . id ; break } } else k = l . id ; b ( g ) . jqGrid ( "setSelection" , k ) } if ( c . keyCode === 37 ) { g . p . treeGrid && g . p . data [ a ] [ q ] && b ( h ) . find ( "div.treeclick" ) . trigger ( "click" ) ; b . isFunction ( i . onLeftKey ) && i . onLeftKey . call ( g , g . p . selrow ) } if ( c . keyCode === 39 ) { g . p . treeGrid && ! g . p . data [ a ] [ q ] && b ( h ) . find ( "div.treeclick" ) . trigger ( "click" ) ; b . isFunction ( i . onRightKey ) && i . onRightKey . call ( g , g . p . selrow ) } } else if ( c . keyCode === 13 ) b . isFunction ( i . onEnter ) && i . onEnter . call ( g , g . p . selrow ) ; else c . keyCode ===
32 && b . isFunction ( i . onSpace ) && i . onSpace . call ( g , g . p . selrow ) } } ) } ) } , unbindKeys : function ( ) { return this . each ( function ( ) { b ( this ) . unbind ( "keydown" ) } ) } , getLocalRow : function ( e ) { var i = false , g ; this . each ( function ( ) { if ( typeof e !== "undefined" ) { g = this . p . _index [ e ] ; if ( g >= 0 ) i = this . p . data [ g ] } } ) ; return i } } ) } ) ( jQuery ) ;
( function ( b ) { b . fmatter = { } ; b . extend ( b . fmatter , { isBoolean : function ( a ) { return typeof a === "boolean" } , isObject : function ( a ) { return a && ( typeof a === "object" || b . isFunction ( a ) ) || false } , isString : function ( a ) { return typeof a === "string" } , isNumber : function ( a ) { return typeof a === "number" && isFinite ( a ) } , isNull : function ( a ) { return a === null } , isUndefined : function ( a ) { return typeof a === "undefined" } , isValue : function ( a ) { return this . isObject ( a ) || this . isString ( a ) || this . isNumber ( a ) || this . isBoolean ( a ) } , isEmpty : function ( a ) { if ( ! this . isString ( a ) &&
this . isValue ( a ) ) return false ; else if ( ! this . isValue ( a ) ) return true ; a = b . trim ( a ) . replace ( /\ \;/ig , "" ) . replace ( /\ \;/ig , "" ) ; return a === "" } } ) ; b . fn . fmatter = function ( a , c , d , e , f ) { var g = c ; d = b . extend ( { } , b . jgrid . formatter , d ) ; if ( b . fn . fmatter [ a ] ) g = b . fn . fmatter [ a ] ( c , d , e , f ) ; return g } ; b . fmatter . util = { NumberFormat : function ( a , c ) { b . fmatter . isNumber ( a ) || ( a *= 1 ) ; if ( b . fmatter . isNumber ( a ) ) { var d = a < 0 , e = a + "" , f = c . decimalSeparator ? c . decimalSeparator : "." , g ; if ( b . fmatter . isNumber ( c . decimalPlaces ) ) { var h = c . decimalPlaces ;
e = Math . pow ( 10 , h ) ; e = Math . round ( a * e ) / e + "" ; g = e . lastIndexOf ( "." ) ; if ( h > 0 ) { if ( g < 0 ) { e += f ; g = e . length - 1 } else if ( f !== "." ) e = e . replace ( "." , f ) ; for ( ; e . length - 1 - g < h ; ) e += "0" } } if ( c . thousandsSeparator ) { h = c . thousandsSeparator ; g = e . lastIndexOf ( f ) ; g = g > - 1 ? g : e . length ; f = e . substring ( g ) ; for ( var i = - 1 , j = g ; j > 0 ; j -- ) { i ++ ; if ( i % 3 === 0 && j !== g && ( ! d || j > 1 ) ) f = h + f ; f = e . charAt ( j - 1 ) + f } e = f } e = c . prefix ? c . prefix + e : e ; return e = c . suffix ? e + c . suffix : e } else return a } , DateFormat : function ( a , c , d , e ) { var f = /^\/Date\((([-+])?[0-9]+)(([-+])([0-9]{2})([0-9]{2}))?\)\/$/ ,
g = typeof c === "string" ? c . match ( f ) : null ; f = function ( m , r ) { m = String ( m ) ; for ( r = parseInt ( r , 10 ) || 2 ; m . length < r ; ) m = "0" + m ; return m } ; var h = { m : 1 , d : 1 , y : 1970 , h : 0 , i : 0 , s : 0 , u : 0 } , i = 0 , j , k = [ "i18n" ] ; k . i18n = { dayNames : e . dayNames , monthNames : e . monthNames } ; if ( a in e . masks ) a = e . masks [ a ] ; if ( ! isNaN ( c - 0 ) && String ( a ) . toLowerCase ( ) == "u" ) i = new Date ( parseFloat ( c ) * 1E3 ) ; else if ( c . constructor === Date ) i = c ; else if ( g !== null ) { i = new Date ( parseInt ( g [ 1 ] , 10 ) ) ; if ( g [ 3 ] ) { a = Number ( g [ 5 ] ) * 60 + Number ( g [ 6 ] ) ; a *= g [ 4 ] == "-" ? 1 : - 1 ; a -= i . getTimezoneOffset ( ) ; i . setTime ( Number ( Number ( i ) +
a * 6E4 ) ) } } else { c = String ( c ) . split ( /[\\\/:_;.,\t\T\s-]/ ) ; a = a . split ( /[\\\/:_;.,\t\T\s-]/ ) ; g = 0 ; for ( j = a . length ; g < j ; g ++ ) { if ( a [ g ] == "M" ) { i = b . inArray ( c [ g ] , k . i18n . monthNames ) ; if ( i !== - 1 && i < 12 ) c [ g ] = i + 1 } if ( a [ g ] == "F" ) { i = b . inArray ( c [ g ] , k . i18n . monthNames ) ; if ( i !== - 1 && i > 11 ) c [ g ] = i + 1 - 12 } if ( c [ g ] ) h [ a [ g ] . toLowerCase ( ) ] = parseInt ( c [ g ] , 10 ) } if ( h . f ) h . m = h . f ; if ( h . m === 0 && h . y === 0 && h . d === 0 ) return " " ; h . m = parseInt ( h . m , 10 ) - 1 ; i = h . y ; if ( i >= 70 && i <= 99 ) h . y = 1900 + h . y ; else if ( i >= 0 && i <= 69 ) h . y = 2E3 + h . y ; i = new Date ( h . y , h . m , h . d , h . h , h . i , h . s , h . u ) } if ( d in
e . masks ) d = e . masks [ d ] ; else d || ( d = "Y-m-d" ) ; a = i . getHours ( ) ; c = i . getMinutes ( ) ; h = i . getDate ( ) ; g = i . getMonth ( ) + 1 ; j = i . getTimezoneOffset ( ) ; var l = i . getSeconds ( ) , n = i . getMilliseconds ( ) , o = i . getDay ( ) , p = i . getFullYear ( ) , q = ( o + 6 ) % 7 + 1 , s = ( new Date ( p , g - 1 , h ) - new Date ( p , 0 , 1 ) ) / 864E5 , t = { d : f ( h ) , D : k . i18n . dayNames [ o ] , j : h , l : k . i18n . dayNames [ o + 7 ] , N : q , S : e . S ( h ) , w : o , z : s , W : q < 5 ? Math . floor ( ( s + q - 1 ) / 7 ) + 1 : Math . floor ( ( s + q - 1 ) / 7 ) || ( ( ( new Date ( p - 1 , 0 , 1 ) ) . getDay ( ) + 6 ) % 7 < 4 ? 53 : 52 ) , F : k . i18n . monthNames [ g - 1 + 12 ] , m : f ( g ) , M : k . i18n . monthNames [ g - 1 ] , n : g , t : "?" ,
L : "?" , o : "?" , Y : p , y : String ( p ) . substring ( 2 ) , a : a < 12 ? e . AmPm [ 0 ] : e . AmPm [ 1 ] , A : a < 12 ? e . AmPm [ 2 ] : e . AmPm [ 3 ] , B : "?" , g : a % 12 || 12 , G : a , h : f ( a % 12 || 12 ) , H : f ( a ) , i : f ( c ) , s : f ( l ) , u : n , e : "?" , I : "?" , O : ( j > 0 ? "-" : "+" ) + f ( Math . floor ( Math . abs ( j ) / 60 ) * 100 + Math . abs ( j ) % 60 , 4 ) , P : "?" , T : ( String ( i ) . match ( /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g ) || [ "" ] ) . pop ( ) . replace ( /[^-+\dA-Z]/g , "" ) , Z : "?" , c : "?" , r : "?" , U : Math . floor ( i / 1E3 ) } ; return d . replace ( /\\.|[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]/g ,
function ( m ) { return m in t ? t [ m ] : m . substring ( 1 ) } ) } } ; b . fn . fmatter . defaultFormat = function ( a , c ) { return b . fmatter . isValue ( a ) && a !== "" ? a : c . defaultValue ? c . defaultValue : " " } ; b . fn . fmatter . email = function ( a , c ) { return b . fmatter . isEmpty ( a ) ? b . fn . fmatter . defaultFormat ( a , c ) : '<a href="mailto:' + a + '">' + a + "</a>" } ; b . fn . fmatter . checkbox = function ( a , c ) { var d = b . extend ( { } , c . checkbox ) , e ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; e = d . disabled === true ? 'disabled="disabled"' :
"" ; if ( b . fmatter . isEmpty ( a ) || b . fmatter . isUndefined ( a ) ) a = b . fn . fmatter . defaultFormat ( a , d ) ; a += "" ; a = a . toLowerCase ( ) ; return '<input type="checkbox" ' + ( a . search ( /(false|0|no|off)/i ) < 0 ? " checked='checked' " : "" ) + ' value="' + a + '" offval="no" ' + e + "/>" } ; b . fn . fmatter . link = function ( a , c ) { var d = { target : c . target } , e = "" ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; if ( d . target ) e = "target=" + d . target ; return b . fmatter . isEmpty ( a ) ? b . fn . fmatter . defaultFormat ( a , c ) : "<a " + e + ' href="' +
a + '">' + a + "</a>" } ; b . fn . fmatter . showlink = function ( a , c ) { var d = { baseLinkUrl : c . baseLinkUrl , showAction : c . showAction , addParam : c . addParam || "" , target : c . target , idName : c . idName } , e = "" ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; if ( d . target ) e = "target=" + d . target ; d = d . baseLinkUrl + d . showAction + "?" + d . idName + "=" + c . rowId + d . addParam ; return b . fmatter . isString ( a ) || b . fmatter . isNumber ( a ) ? "<a " + e + ' href="' + d + '">' + a + "</a>" : b . fn . fmatter . defaultFormat ( a , c ) } ; b . fn . fmatter . integer =
function ( a , c ) { var d = b . extend ( { } , c . integer ) ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; if ( b . fmatter . isEmpty ( a ) ) return d . defaultValue ; return b . fmatter . util . NumberFormat ( a , d ) } ; b . fn . fmatter . number = function ( a , c ) { var d = b . extend ( { } , c . number ) ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; if ( b . fmatter . isEmpty ( a ) ) return d . defaultValue ; return b . fmatter . util . NumberFormat ( a , d ) } ; b . fn . fmatter . currency = function ( a , c ) { var d =
b . extend ( { } , c . currency ) ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; if ( b . fmatter . isEmpty ( a ) ) return d . defaultValue ; return b . fmatter . util . NumberFormat ( a , d ) } ; b . fn . fmatter . date = function ( a , c , d , e ) { d = b . extend ( { } , c . date ) ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( { } , d , c . colModel . formatoptions ) ) ; return ! d . reformatAfterEdit && e == "edit" ? b . fn . fmatter . defaultFormat ( a , c ) : b . fmatter . isEmpty ( a ) ? b . fn . fmatter . defaultFormat ( a , c ) : b . fmatter . util . DateFormat ( d . srcformat ,
a , d . newformat , d ) } ; b . fn . fmatter . select = function ( a , c ) { a += "" ; var d = false , e = [ ] , f ; if ( b . fmatter . isUndefined ( c . colModel . formatoptions ) ) { if ( ! b . fmatter . isUndefined ( c . colModel . editoptions ) ) { d = c . colModel . editoptions . value ; f = c . colModel . editoptions . separator === undefined ? ":" : c . colModel . editoptions . separator } } else { d = c . colModel . formatoptions . value ; f = c . colModel . formatoptions . separator === undefined ? ":" : c . colModel . formatoptions . separator } if ( d ) { var g = c . colModel . editoptions . multiple === true ? true : false , h = [ ] , i ; if ( g ) { h = a . split ( "," ) ;
h = b . map ( h , function ( n ) { return b . trim ( n ) } ) } if ( b . fmatter . isString ( d ) ) for ( var j = d . split ( ";" ) , k = 0 , l = 0 ; l < j . length ; l ++ ) { i = j [ l ] . split ( f ) ; if ( i . length > 2 ) i [ 1 ] = jQuery . map ( i , function ( n , o ) { if ( o > 0 ) return n } ) . join ( ":" ) ; if ( g ) { if ( jQuery . inArray ( i [ 0 ] , h ) > - 1 ) { e [ k ] = i [ 1 ] ; k ++ } } else if ( b . trim ( i [ 0 ] ) == b . trim ( a ) ) { e [ 0 ] = i [ 1 ] ; break } } else if ( b . fmatter . isObject ( d ) ) if ( g ) e = jQuery . map ( h , function ( n ) { return d [ n ] } ) ; else e [ 0 ] = d [ a ] || "" } a = e . join ( ", " ) ; return a === "" ? b . fn . fmatter . defaultFormat ( a , c ) : a } ; b . fn . fmatter . rowactions = function ( a , c , d ,
e ) { var f = { keys : false , onEdit : null , onSuccess : null , afterSave : null , onError : null , afterRestore : null , extraparam : { } , url : null , delOptions : { } , editOptions : { } } ; a = b . jgrid . jqID ( a ) ; c = b . jgrid . jqID ( c ) ; e = b ( "#" + c ) [ 0 ] . p . colModel [ e ] ; b . fmatter . isUndefined ( e . formatoptions ) || ( f = b . extend ( f , e . formatoptions ) ) ; if ( ! b . fmatter . isUndefined ( b ( "#" + c ) [ 0 ] . p . editOptions ) ) f . editOptions = b ( "#" + c ) [ 0 ] . p . editOptions ; if ( ! b . fmatter . isUndefined ( b ( "#" + c ) [ 0 ] . p . delOptions ) ) f . delOptions = b ( "#" + c ) [ 0 ] . p . delOptions ; e = function ( j ) { f . afterSave && f . afterSave ( j ) ;
b ( "tr#" + a + " div.ui-inline-edit, tr#" + a + " div.ui-inline-del" , "#" + c + ".ui-jqgrid-btable:first" ) . show ( ) ; b ( "tr#" + a + " div.ui-inline-save, tr#" + a + " div.ui-inline-cancel" , "#" + c + ".ui-jqgrid-btable:first" ) . hide ( ) } ; var g = function ( j ) { f . afterRestore && f . afterRestore ( j ) ; b ( "tr#" + a + " div.ui-inline-edit, tr#" + a + " div.ui-inline-del" , "#" + c + ".ui-jqgrid-btable:first" ) . show ( ) ; b ( "tr#" + a + " div.ui-inline-save, tr#" + a + " div.ui-inline-cancel" , "#" + c + ".ui-jqgrid-btable:first" ) . hide ( ) } , h = b ( "#" + c ) [ 0 ] ; if ( b ( "#" + a , "#" + c ) . hasClass ( "jqgrid-new-row" ) ) { var i =
h . p . prmNames ; f . extraparam [ i . oper ] = i . addoper } switch ( d ) { case "edit" : b ( "#" + c ) . jqGrid ( "editRow" , a , f . keys , f . onEdit , f . onSuccess , f . url , f . extraparam , e , f . onError , g ) ; b ( "tr#" + a + " div.ui-inline-edit, tr#" + a + " div.ui-inline-del" , "#" + c + ".ui-jqgrid-btable:first" ) . hide ( ) ; b ( "tr#" + a + " div.ui-inline-save, tr#" + a + " div.ui-inline-cancel" , "#" + c + ".ui-jqgrid-btable:first" ) . show ( ) ; b . isFunction ( h . p . _complete ) && h . p . _complete . call ( h ) ; break ; case "save" : if ( b ( "#" + c ) . jqGrid ( "saveRow" , a , f . onSuccess , f . url , f . extraparam , e , f . onError ,
g ) ) { b ( "tr#" + a + " div.ui-inline-edit, tr#" + a + " div.ui-inline-del" , "#" + c + ".ui-jqgrid-btable:first" ) . show ( ) ; b ( "tr#" + a + " div.ui-inline-save, tr#" + a + " div.ui-inline-cancel" , "#" + c + ".ui-jqgrid-btable:first" ) . hide ( ) ; b . isFunction ( h . p . _complete ) && h . p . _complete . call ( h ) } break ; case "cancel" : b ( "#" + c ) . jqGrid ( "restoreRow" , a , g ) ; b ( "tr#" + a + " div.ui-inline-edit, tr#" + a + " div.ui-inline-del" , "#" + c + ".ui-jqgrid-btable:first" ) . show ( ) ; b ( "tr#" + a + " div.ui-inline-save, tr#" + a + " div.ui-inline-cancel" , "#" + c + ".ui-jqgrid-btable:first" ) . hide ( ) ;
b . isFunction ( h . p . _complete ) && h . p . _complete . call ( h ) ; break ; case "del" : b ( "#" + c ) . jqGrid ( "delGridRow" , a , f . delOptions ) ; break ; case "formedit" : b ( "#" + c ) . jqGrid ( "setSelection" , a ) ; b ( "#" + c ) . jqGrid ( "editGridRow" , a , f . editOptions ) } } ; b . fn . fmatter . actions = function ( a , c ) { var d = { keys : false , editbutton : true , delbutton : true , editformbutton : false } ; b . fmatter . isUndefined ( c . colModel . formatoptions ) || ( d = b . extend ( d , c . colModel . formatoptions ) ) ; var e = c . rowId , f = "" , g ; if ( typeof e == "undefined" || b . fmatter . isEmpty ( e ) ) return "" ; if ( d . editformbutton ) { g =
"onclick=jQuery.fn.fmatter.rowactions('" + e + "','" + c . gid + "','formedit'," + c . pos + "); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); " ; f = f + "<div title='" + b . jgrid . nav . edittitle + "' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' " + g + "><span class='ui-icon ui-icon-pencil'></span></div>" } else if ( d . editbutton ) { g = "onclick=jQuery.fn.fmatter.rowactions('" + e + "','" + c . gid + "','edit'," + c . pos + "); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover') " ;
f = f + "<div title='" + b . jgrid . nav . edittitle + "' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' " + g + "><span class='ui-icon ui-icon-pencil'></span></div>" } if ( d . delbutton ) { g = "onclick=jQuery.fn.fmatter.rowactions('" + e + "','" + c . gid + "','del'," + c . pos + "); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); " ; f = f + "<div title='" + b . jgrid . nav . deltitle + "' style='float:left;margin-left:5px;' class='ui-pg-div ui-inline-del' " + g + "><span class='ui-icon ui-icon-trash'></span></div>" } g =
"onclick=jQuery.fn.fmatter.rowactions('" + e + "','" + c . gid + "','save'," + c . pos + "); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); " ; f = f + "<div title='" + b . jgrid . edit . bSubmit + "' style='float:left;display:none' class='ui-pg-div ui-inline-save' " + g + "><span class='ui-icon ui-icon-disk'></span></div>" ; g = "onclick=jQuery.fn.fmatter.rowactions('" + e + "','" + c . gid + "','cancel'," + c . pos + "); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); " ;
f = f + "<div title='" + b . jgrid . edit . bCancel + "' style='float:left;display:none;margin-left:5px;' class='ui-pg-div ui-inline-cancel' " + g + "><span class='ui-icon ui-icon-cancel'></span></div>" ; return "<div style='margin-left:8px;'>" + f + "</div>" } ; b . unformat = function ( a , c , d , e ) { var f , g = c . colModel . formatter , h = c . colModel . formatoptions || { } , i = /([\.\*\_\'\(\)\{\}\+\?\\])/g , j = c . colModel . unformat || b . fn . fmatter [ g ] && b . fn . fmatter [ g ] . unformat ; if ( typeof j !== "undefined" && b . isFunction ( j ) ) f = j ( b ( a ) . text ( ) , c , a ) ; else if ( ! b . fmatter . isUndefined ( g ) &&
b . fmatter . isString ( g ) ) { f = b . jgrid . formatter || { } ; switch ( g ) { case "integer" : h = b . extend ( { } , f . integer , h ) ; c = h . thousandsSeparator . replace ( i , "\\$1" ) ; f = b ( a ) . text ( ) . replace ( RegExp ( c , "g" ) , "" ) ; break ; case "number" : h = b . extend ( { } , f . number , h ) ; c = h . thousandsSeparator . replace ( i , "\\$1" ) ; f = b ( a ) . text ( ) . replace ( RegExp ( c , "g" ) , "" ) . replace ( h . decimalSeparator , "." ) ; break ; case "currency" : h = b . extend ( { } , f . currency , h ) ; c = h . thousandsSeparator . replace ( i , "\\$1" ) ; f = b ( a ) . text ( ) . replace ( RegExp ( c , "g" ) , "" ) . replace ( h . decimalSeparator , "." ) . replace ( h . prefix ,
"" ) . replace ( h . suffix , "" ) ; break ; case "checkbox" : h = c . colModel . editoptions ? c . colModel . editoptions . value . split ( ":" ) : [ "Yes" , "No" ] ; f = b ( "input" , a ) . is ( ":checked" ) ? h [ 0 ] : h [ 1 ] ; break ; case "select" : f = b . unformat . select ( a , c , d , e ) ; break ; case "actions" : return "" ; default : f = b ( a ) . text ( ) } } return f !== undefined ? f : e === true ? b ( a ) . text ( ) : b . jgrid . htmlDecode ( b ( a ) . html ( ) ) } ; b . unformat . select = function ( a , c , d , e ) { d = [ ] ; a = b ( a ) . text ( ) ; if ( e === true ) return a ; c = b . extend ( { } , c . colModel . editoptions ) ; if ( c . value ) { var f = c . value ; c = c . multiple === true ?
true : false ; e = [ ] ; var g ; if ( c ) { e = a . split ( "," ) ; e = b . map ( e , function ( k ) { return b . trim ( k ) } ) } if ( b . fmatter . isString ( f ) ) for ( var h = f . split ( ";" ) , i = 0 , j = 0 ; j < h . length ; j ++ ) { g = h [ j ] . split ( ":" ) ; if ( g . length > 2 ) g [ 1 ] = jQuery . map ( g , function ( k , l ) { if ( l > 0 ) return k } ) . join ( ":" ) ; if ( c ) { if ( jQuery . inArray ( g [ 1 ] , e ) > - 1 ) { d [ i ] = g [ 0 ] ; i ++ } } else if ( b . trim ( g [ 1 ] ) == b . trim ( a ) ) { d [ 0 ] = g [ 0 ] ; break } } else if ( b . fmatter . isObject ( f ) || b . isArray ( f ) ) { c || ( e [ 0 ] = a ) ; d = jQuery . map ( e , function ( k ) { var l ; b . each ( f , function ( n , o ) { if ( o == k ) { l = n ; return false } } ) ; if ( typeof l !=
"undefined" ) return l } ) } return d . join ( ", " ) } else return a || "" } ; b . unformat . date = function ( a , c ) { var d = b . jgrid . formatter . date || { } ; b . fmatter . isUndefined ( c . formatoptions ) || ( d = b . extend ( { } , d , c . formatoptions ) ) ; return b . fmatter . isEmpty ( a ) ? b . fn . fmatter . defaultFormat ( a , c ) : b . fmatter . util . DateFormat ( d . newformat , a , d . srcformat , d ) } } ) ( jQuery ) ;
( function ( a ) { a . jgrid . extend ( { getColProp : function ( b ) { var e = { } , c = this [ 0 ] ; if ( ! c . grid ) return false ; c = c . p . colModel ; for ( var j = 0 ; j < c . length ; j ++ ) if ( c [ j ] . name == b ) { e = c [ j ] ; break } return e } , setColProp : function ( b , e ) { return this . each ( function ( ) { if ( this . grid ) if ( e ) for ( var c = this . p . colModel , j = 0 ; j < c . length ; j ++ ) if ( c [ j ] . name == b ) { a . extend ( this . p . colModel [ j ] , e ) ; break } } ) } , sortGrid : function ( b , e , c ) { return this . each ( function ( ) { var j = - 1 ; if ( this . grid ) { if ( ! b ) b = this . p . sortname ; for ( var k = 0 ; k < this . p . colModel . length ; k ++ ) if ( this . p . colModel [ k ] . index ==
b || this . p . colModel [ k ] . name == b ) { j = k ; break } if ( j != - 1 ) { k = this . p . colModel [ j ] . sortable ; if ( typeof k !== "boolean" ) k = true ; if ( typeof e !== "boolean" ) e = false ; k && this . sortData ( "jqgh_" + this . p . id + "_" + b , j , e , c ) } } } ) } , GridDestroy : function ( ) { return this . each ( function ( ) { if ( this . grid ) { this . p . pager && a ( this . p . pager ) . remove ( ) ; var b = this . id ; try { a ( "#gbox_" + b ) . remove ( ) } catch ( e ) { } } } ) } , GridUnload : function ( ) { return this . each ( function ( ) { if ( this . grid ) { var b = { id : a ( this ) . attr ( "id" ) , cl : a ( this ) . attr ( "class" ) } ; this . p . pager && a ( this . p . pager ) . empty ( ) . removeClass ( "ui-state-default ui-jqgrid-pager corner-bottom" ) ;
var e = document . createElement ( "table" ) ; a ( e ) . attr ( { id : b . id } ) ; e . className = b . cl ; b = this . id ; a ( e ) . removeClass ( "ui-jqgrid-btable" ) ; if ( a ( this . p . pager ) . parents ( "#gbox_" + b ) . length === 1 ) { a ( e ) . insertBefore ( "#gbox_" + b ) . show ( ) ; a ( this . p . pager ) . insertBefore ( "#gbox_" + b ) } else a ( e ) . insertBefore ( "#gbox_" + b ) . show ( ) ; a ( "#gbox_" + b ) . remove ( ) } } ) } , setGridState : function ( b ) { return this . each ( function ( ) { if ( this . grid ) if ( b == "hidden" ) { a ( ".ui-jqgrid-bdiv, .ui-jqgrid-hdiv" , "#gview_" + this . p . id ) . slideUp ( "fast" ) ; this . p . pager && a ( this . p . pager ) . slideUp ( "fast" ) ;
this . p . toppager && a ( this . p . toppager ) . slideUp ( "fast" ) ; if ( this . p . toolbar [ 0 ] === true ) { this . p . toolbar [ 1 ] == "both" && a ( this . grid . ubDiv ) . slideUp ( "fast" ) ; a ( this . grid . uDiv ) . slideUp ( "fast" ) } this . p . footerrow && a ( ".ui-jqgrid-sdiv" , "#gbox_" + this . p . id ) . slideUp ( "fast" ) ; a ( ".ui-jqgrid-titlebar-close span" , this . grid . cDiv ) . removeClass ( "ui-icon-circle-triangle-n" ) . addClass ( "ui-icon-circle-triangle-s" ) ; this . p . gridstate = "hidden" } else if ( b == "visible" ) { a ( ".ui-jqgrid-hdiv, .ui-jqgrid-bdiv" , "#gview_" + this . p . id ) . slideDown ( "fast" ) ;
this . p . pager && a ( this . p . pager ) . slideDown ( "fast" ) ; this . p . toppager && a ( this . p . toppager ) . slideDown ( "fast" ) ; if ( this . p . toolbar [ 0 ] === true ) { this . p . toolbar [ 1 ] == "both" && a ( this . grid . ubDiv ) . slideDown ( "fast" ) ; a ( this . grid . uDiv ) . slideDown ( "fast" ) } this . p . footerrow && a ( ".ui-jqgrid-sdiv" , "#gbox_" + this . p . id ) . slideDown ( "fast" ) ; a ( ".ui-jqgrid-titlebar-close span" , this . grid . cDiv ) . removeClass ( "ui-icon-circle-triangle-s" ) . addClass ( "ui-icon-circle-triangle-n" ) ; this . p . gridstate = "visible" } } ) } , filterToolbar : function ( b ) { b = a . extend ( { autosearch : true ,
searchOnEnter : true , beforeSearch : null , afterSearch : null , beforeClear : null , afterClear : null , searchurl : "" , stringResult : false , groupOp : "AND" , defaultSearch : "bw" } , b || { } ) ; return this . each ( function ( ) { function e ( d , g ) { var h = a ( d ) ; h [ 0 ] && jQuery . each ( g , function ( ) { this . data !== undefined ? h . bind ( this . type , this . data , this . fn ) : h . bind ( this . type , this . fn ) } ) } var c = this ; if ( ! this . ftoolbar ) { var j = function ( ) { var d = { } , g = 0 , h , f , i = { } , m ; a . each ( c . p . colModel , function ( ) { f = this . index || this . name ; m = this . searchoptions && this . searchoptions . sopt ?
this . searchoptions . sopt [ 0 ] : this . stype == "select" ? "eq" : b . defaultSearch ; if ( h = a ( "#gs_" + a . jgrid . jqID ( this . name ) , this . frozen === true && c . p . frozenColumns === true ? c . grid . fhDiv : c . grid . hDiv ) . val ( ) ) { d [ f ] = h ; i [ f ] = m ; g ++ } else try { delete c . p . postData [ f ] } catch ( r ) { } } ) ; var n = g > 0 ? true : false ; if ( b . stringResult === true || c . p . datatype == "local" ) { var l = '{"groupOp":"' + b . groupOp + '","rules":[' , t = 0 ; a . each ( d , function ( r , v ) { if ( t > 0 ) l += "," ; l += '{"field":"' + r + '",' ; l += '"op":"' + i [ r ] + '",' ; v += "" ; l += '"data":"' + v . replace ( /\\/g , "\\\\" ) . replace ( /\"/g ,
'\\"' ) + '"}' ; t ++ } ) ; l += "]}" ; a . extend ( c . p . postData , { filters : l } ) ; a . each ( [ "searchField" , "searchString" , "searchOper" ] , function ( r , v ) { c . p . postData . hasOwnProperty ( v ) && delete c . p . postData [ v ] } ) } else a . extend ( c . p . postData , d ) ; var o ; if ( c . p . searchurl ) { o = c . p . url ; a ( c ) . jqGrid ( "setGridParam" , { url : c . p . searchurl } ) } var q = false ; if ( a . isFunction ( b . beforeSearch ) ) q = b . beforeSearch . call ( c ) ; q || a ( c ) . jqGrid ( "setGridParam" , { search : n } ) . trigger ( "reloadGrid" , [ { page : 1 } ] ) ; o && a ( c ) . jqGrid ( "setGridParam" , { url : o } ) ; a . isFunction ( b . afterSearch ) &&
b . afterSearch ( ) } , k = a ( "<tr class='ui-search-toolbar' role='rowheader'></tr>" ) , p ; a . each ( c . p . colModel , function ( ) { var d = this , g , h , f , i ; h = a ( "<th role='columnheader' class='ui-state-default ui-th-column ui-th-" + c . p . direction + "'></th>" ) ; g = a ( "<div style='width:100%;position:relative;height:100%;padding-right:0.3em;'></div>" ) ; this . hidden === true && a ( h ) . css ( "display" , "none" ) ; this . search = this . search === false ? false : true ; if ( typeof this . stype == "undefined" ) this . stype = "text" ; f = a . extend ( { } , this . searchoptions || { } ) ; if ( this . search ) switch ( this . stype ) { case "select" : if ( i =
this . surl || f . dataUrl ) a . ajax ( a . extend ( { url : i , dataType : "html" , success : function ( o ) { if ( f . buildSelect !== undefined ) ( o = f . buildSelect ( o ) ) && a ( g ) . append ( o ) ; else a ( g ) . append ( o ) ; f . defaultValue && a ( "select" , g ) . val ( f . defaultValue ) ; a ( "select" , g ) . attr ( { name : d . index || d . name , id : "gs_" + d . name } ) ; f . attr && a ( "select" , g ) . attr ( f . attr ) ; a ( "select" , g ) . css ( { width : "100%" } ) ; f . dataInit !== undefined && f . dataInit ( a ( "select" , g ) [ 0 ] ) ; f . dataEvents !== undefined && e ( a ( "select" , g ) [ 0 ] , f . dataEvents ) ; b . autosearch === true && a ( "select" , g ) . change ( function ( ) { j ( ) ;
return false } ) ; o = null } } , a . jgrid . ajaxOptions , c . p . ajaxSelectOptions || { } ) ) ; else { var m ; if ( d . searchoptions && d . searchoptions . value ) m = d . searchoptions . value ; else if ( d . editoptions && d . editoptions . value ) m = d . editoptions . value ; if ( m ) { i = document . createElement ( "select" ) ; i . style . width = "100%" ; a ( i ) . attr ( { name : d . index || d . name , id : "gs_" + d . name } ) ; var n , l ; if ( typeof m === "string" ) { m = m . split ( ";" ) ; for ( var t = 0 ; t < m . length ; t ++ ) { n = m [ t ] . split ( ":" ) ; l = document . createElement ( "option" ) ; l . value = n [ 0 ] ; l . innerHTML = n [ 1 ] ; i . appendChild ( l ) } } else if ( typeof m ===
"object" ) for ( n in m ) if ( m . hasOwnProperty ( n ) ) { l = document . createElement ( "option" ) ; l . value = n ; l . innerHTML = m [ n ] ; i . appendChild ( l ) } f . defaultValue && a ( i ) . val ( f . defaultValue ) ; f . attr && a ( i ) . attr ( f . attr ) ; f . dataInit !== undefined && f . dataInit ( i ) ; f . dataEvents !== undefined && e ( i , f . dataEvents ) ; a ( g ) . append ( i ) ; b . autosearch === true && a ( i ) . change ( function ( ) { j ( ) ; return false } ) } } break ; case "text" : i = f . defaultValue ? f . defaultValue : "" ; a ( g ) . append ( "<input type='text' style='width:95%;padding:0px;' name='" + ( d . index || d . name ) + "' id='gs_" +
d . name + "' value='" + i + "'/>" ) ; f . attr && a ( "input" , g ) . attr ( f . attr ) ; f . dataInit !== undefined && f . dataInit ( a ( "input" , g ) [ 0 ] ) ; f . dataEvents !== undefined && e ( a ( "input" , g ) [ 0 ] , f . dataEvents ) ; if ( b . autosearch === true ) b . searchOnEnter ? a ( "input" , g ) . keypress ( function ( o ) { if ( ( o . charCode ? o . charCode : o . keyCode ? o . keyCode : 0 ) == 13 ) { j ( ) ; return false } return this } ) : a ( "input" , g ) . keydown ( function ( o ) { switch ( o . which ) { case 13 : return false ; case 9 : case 16 : case 37 : case 38 : case 39 : case 40 : case 27 : break ; default : p && clearTimeout ( p ) ; p = setTimeout ( function ( ) { j ( ) } ,
500 ) } } ) } a ( h ) . append ( g ) ; a ( k ) . append ( h ) } ) ; a ( "table thead" , c . grid . hDiv ) . append ( k ) ; this . ftoolbar = true ; this . triggerToolbar = j ; this . clearToolbar = function ( d ) { var g = { } , h , f = 0 , i ; d = typeof d != "boolean" ? true : d ; a . each ( c . p . colModel , function ( ) { h = this . searchoptions && this . searchoptions . defaultValue ? this . searchoptions . defaultValue : "" ; i = this . index || this . name ; switch ( this . stype ) { case "select" : var q ; a ( "#gs_" + a . jgrid . jqID ( this . name ) + " option" , this . frozen === true && c . p . frozenColumns === true ? c . grid . fhDiv : c . grid . hDiv ) . each ( function ( s ) { if ( s ===
0 ) this . selected = true ; if ( a ( this ) . text ( ) == h ) { this . selected = true ; q = a ( this ) . val ( ) ; return false } } ) ; if ( q ) { g [ i ] = q ; f ++ } else try { delete c . p . postData [ i ] } catch ( r ) { } break ; case "text" : a ( "#gs_" + a . jgrid . jqID ( this . name ) , this . frozen === true && c . p . frozenColumns === true ? c . grid . fhDiv : c . grid . hDiv ) . val ( h ) ; if ( h ) { g [ i ] = h ; f ++ } else try { delete c . p . postData [ i ] } catch ( v ) { } } } ) ; var m = f > 0 ? true : false ; if ( b . stringResult === true || c . p . datatype == "local" ) { var n = '{"groupOp":"' + b . groupOp + '","rules":[' , l = 0 ; a . each ( g , function ( q , r ) { if ( l > 0 ) n += "," ;
n += '{"field":"' + q + '",' ; n += '"op":"eq",' ; r += "" ; n += '"data":"' + r . replace ( /\\/g , "\\\\" ) . replace ( /\"/g , '\\"' ) + '"}' ; l ++ } ) ; n += "]}" ; a . extend ( c . p . postData , { filters : n } ) ; a . each ( [ "searchField" , "searchString" , "searchOper" ] , function ( q , r ) { c . p . postData . hasOwnProperty ( r ) && delete c . p . postData [ r ] } ) } else a . extend ( c . p . postData , g ) ; var t ; if ( c . p . searchurl ) { t = c . p . url ; a ( c ) . jqGrid ( "setGridParam" , { url : c . p . searchurl } ) } var o = false ; if ( a . isFunction ( b . beforeClear ) ) o = b . beforeClear . call ( c ) ; o || d && a ( c ) . jqGrid ( "setGridParam" , { search : m } ) . trigger ( "reloadGrid" ,
[ { page : 1 } ] ) ; t && a ( c ) . jqGrid ( "setGridParam" , { url : t } ) ; a . isFunction ( b . afterClear ) && b . afterClear ( ) } ; this . toggleToolbar = function ( ) { var d = a ( "tr.ui-search-toolbar" , c . grid . hDiv ) , g = c . p . frozenColumns === true ? a ( "tr.ui-search-toolbar" , c . grid . hDiv ) : false ; if ( d . css ( "display" ) == "none" ) { d . show ( ) ; g && g . show ( ) } else { d . hide ( ) ; g && g . hide ( ) } } } } ) } , destroyGroupHeader : function ( b ) { if ( typeof b == "undefined" ) b = true ; return this . each ( function ( ) { var e , c , j , k , p , d ; c = this . grid ; var g = a ( "table.ui-jqgrid-htable thead" , c . hDiv ) , h = this . p . colModel ;
if ( c ) { e = a ( "<tr>" , { role : "rowheader" } ) . addClass ( "ui-jqgrid-labels" ) ; k = c . headers ; c = 0 ; for ( j = k . length ; c < j ; c ++ ) { p = h [ c ] . hidden ? "none" : "" ; p = a ( k [ c ] . el ) . width ( k [ c ] . width ) . css ( "display" , p ) ; try { p . removeAttr ( "rowSpan" ) } catch ( f ) { p . attr ( "rowSpan" , 1 ) } e . append ( p ) ; d = p . children ( "span.ui-jqgrid-resize" ) ; if ( d . length > 0 ) d [ 0 ] . style . height = "" ; p . children ( "div" ) [ 0 ] . style . top = "" } a ( g ) . children ( "tr.ui-jqgrid-labels" ) . remove ( ) ; a ( g ) . prepend ( e ) ; b === true && a ( this ) . jqGrid ( "setGridParam" , { groupHeader : null } ) } } ) } , setGroupHeaders : function ( b ) { b =
a . extend ( { useColSpanStyle : false , groupHeaders : [ ] } , b || { } ) ; return this . each ( function ( ) { this . p . groupHeader = b ; var e = this , c , j , k = 0 , p , d , g , h , f , i = e . p . colModel , m = i . length , n = e . grid . headers , l = a ( "table.ui-jqgrid-htable" , e . grid . hDiv ) , t = l . children ( "thead" ) . children ( "tr.ui-jqgrid-labels:last" ) . addClass ( "jqg-second-row-header" ) ; p = l . children ( "thead" ) ; var o , q = l . find ( ".jqg-first-row-header" ) ; if ( q . html ( ) === null ) q = a ( "<tr>" , { role : "row" , "aria-hidden" : "true" } ) . addClass ( "jqg-first-row-header" ) . css ( "height" , "auto" ) ; else q . empty ( ) ;
var r , v = function ( s , u ) { for ( var w = 0 , x = u . length ; w < x ; w ++ ) if ( u [ w ] . startColumnName === s ) return w ; return - 1 } ; a ( e ) . prepend ( p ) ; p = a ( "<tr>" , { role : "rowheader" } ) . addClass ( "ui-jqgrid-labels jqg-third-row-header" ) ; for ( c = 0 ; c < m ; c ++ ) { g = n [ c ] . el ; h = a ( g ) ; j = i [ c ] ; d = { height : "0px" , width : n [ c ] . width + "px" , display : j . hidden ? "none" : "" } ; a ( "<th>" , { role : "gridcell" } ) . css ( d ) . addClass ( "ui-first-th-" + e . p . direction ) . appendTo ( q ) ; g . style . width = "" ; d = v ( j . name , b . groupHeaders ) ; if ( d >= 0 ) { d = b . groupHeaders [ d ] ; k = d . numberOfColumns ; f = d . titleText ; for ( d =
j = 0 ; d < k && c + d < m ; d ++ ) i [ c + d ] . hidden || j ++ ; d = a ( "<th>" ) . attr ( { role : "columnheader" } ) . addClass ( "ui-state-default ui-th-column-header ui-th-" + e . p . direction ) . css ( { height : "22px" , "border-top" : "0px none" } ) . html ( f ) ; j > 0 && d . attr ( "colspan" , String ( j ) ) ; e . p . headertitles && d . attr ( "title" , d . text ( ) ) ; j === 0 && d . hide ( ) ; h . before ( d ) ; p . append ( g ) ; k -= 1 } else if ( k === 0 ) if ( b . useColSpanStyle ) h . attr ( "rowspan" , "2" ) ; else { a ( "<th>" , { role : "columnheader" } ) . addClass ( "ui-state-default ui-th-column-header ui-th-" + e . p . direction ) . css ( { display : j . hidden ?
"none" : "" , "border-top" : "0px none" } ) . insertBefore ( h ) ; p . append ( g ) } else { p . append ( g ) ; k -- } } i = a ( e ) . children ( "thead" ) ; i . prepend ( q ) ; p . insertAfter ( t ) ; l . append ( i ) ; if ( b . useColSpanStyle ) { l . find ( "span.ui-jqgrid-resize" ) . each ( function ( ) { var s = a ( this ) . parent ( ) ; if ( s . is ( ":visible" ) ) this . style . cssText = "height: " + s . height ( ) + "px !important; cursor: col-resize;" } ) ; l . find ( "div.ui-jqgrid-sortable" ) . each ( function ( ) { var s = a ( this ) , u = s . parent ( ) ; u . is ( ":visible" ) && u . is ( ":has(span.ui-jqgrid-resize)" ) && s . css ( "top" , ( u . height ( ) -
s . outerHeight ( ) ) / 2 + "px" ) } ) } if ( a . isFunction ( e . p . resizeStop ) ) o = e . p . resizeStop ; r = i . find ( "tr.jqg-first-row-header" ) ; e . p . resizeStop = function ( s , u ) { r . find ( "th" ) . eq ( u ) . width ( s ) ; a . isFunction ( o ) && o . call ( e , s , u ) } } ) } , setFrozenColumns : function ( ) { return this . each ( function ( ) { if ( this . grid ) { var b = this , e = b . p . colModel , c = 0 , j = e . length , k = - 1 , p = false ; if ( ! ( b . p . subGrid == true || b . p . treeGrid === true || b . p . cellEdit == true || b . p . sortable || b . p . scroll || b . p . grouping ) ) { b . p . rownumbers && c ++ ; for ( b . p . multiselect && c ++ ; c < j ; ) { if ( e [ c ] . frozen ===
true ) { p = true ; k = c } else break ; c ++ } if ( k >= 0 && p ) { e = b . p . caption ? a ( b . grid . cDiv ) . outerHeight ( ) : 0 ; c = a ( ".ui-jqgrid-htable" , "#gview_" + a . jgrid . jqID ( b . p . id ) ) . height ( ) ; b . p . orgEvents = { } ; if ( b . p . toppager ) e += a ( b . grid . topDiv ) . outerHeight ( ) ; if ( b . p . toolbar [ 0 ] == true ) if ( b . p . toolbar [ 1 ] != "bottom" ) e += a ( b . grid . uDiv ) . outerHeight ( ) ; b . grid . fhDiv = a ( '<div style="position:absolute;left:0px;top:' + e + "px;height:" + c + 'px;" class="frozen-div ui-state-default ui-jqgrid-hdiv"></div>' ) ; b . grid . fbDiv = a ( '<div style="position:absolute;left:0px;top:' +
( parseInt ( e , 10 ) + parseInt ( c , 10 ) + 1 ) + 'px;overflow-y:hidden" class="frozen-bdiv ui-jqgrid-bdiv"></div>' ) ; a ( "#gview_" + a . jgrid . jqID ( b . p . id ) ) . append ( b . grid . fhDiv ) ; e = a ( ".ui-jqgrid-htable" , "#gview_" + a . jgrid . jqID ( b . p . id ) ) . clone ( true ) ; if ( b . p . groupHeader ) { a ( "tr.jqg-first-row-header, tr.jqg-third-row-header" , e ) . each ( function ( ) { a ( "th:gt(" + k + ")" , this ) . remove ( ) } ) ; var d = - 1 , g = - 1 ; a ( "tr.jqg-second-row-header th" , e ) . each ( function ( ) { var h = parseInt ( a ( this ) . attr ( "colspan" ) , 10 ) ; if ( h ) { d += h ; g ++ } if ( d === k ) return false } ) ; if ( d !==
k ) g = k ; a ( "tr.jqg-second-row-header" , e ) . each ( function ( ) { a ( "th:gt(" + g + ")" , this ) . remove ( ) } ) } else a ( "tr" , e ) . each ( function ( ) { a ( "th:gt(" + k + ")" , this ) . remove ( ) } ) ; a ( e ) . width ( 1 ) ; a ( b . grid . fhDiv ) . append ( e ) . mousemove ( function ( h ) { if ( b . grid . resizing ) { b . grid . dragMove ( h ) ; return false } } ) ; if ( a . isFunction ( b . p . resizeStop ) ) b . p . orgEvents . resizeStop = b . p . resizeStop ; b . p . resizeStop = function ( h , f ) { var i = a ( ".ui-jqgrid-htable" , b . grid . fhDiv ) ; a ( "th:eq(" + f + ")" , i ) . width ( h ) ; i = a ( ".ui-jqgrid-btable" , b . grid . fbDiv ) ; a ( "tr:first td:eq(" + f +
")" , i ) . width ( h ) ; if ( a . isFunction ( b . p . orgEvents . resizeStop ) ) b . p . orgEvents . resizeStop . call ( b , h , f ) ; else b . p . orgEvents . resizeStop = null } ; b . p . orgEvents . onSortCol = a . isFunction ( b . p . onSortCol ) ? b . p . onSortCol : null ; b . p . onSortCol = function ( h , f , i ) { var m = a ( "tr.ui-jqgrid-labels:last th:eq(" + b . p . lastsort + ")" , b . grid . fhDiv ) , n = a ( "tr.ui-jqgrid-labels:last th:eq(" + f + ")" , b . grid . fhDiv ) ; a ( "span.ui-grid-ico-sort" , m ) . addClass ( "ui-state-disabled" ) ; a ( m ) . attr ( "aria-selected" , "false" ) ; a ( "span.ui-icon-" + b . p . sortorder , n ) . removeClass ( "ui-state-disabled" ) ;
a ( n ) . attr ( "aria-selected" , "true" ) ; if ( ! b . p . viewsortcols [ 0 ] ) if ( b . p . lastsort != f ) { a ( "span.s-ico" , m ) . hide ( ) ; a ( "span.s-ico" , n ) . show ( ) } a . isFunction ( b . p . orgEvents . onSortCol ) && b . p . orgEvents . onSortCol . call ( b , h , f , i ) } ; a ( "#gview_" + a . jgrid . jqID ( b . p . id ) ) . append ( b . grid . fbDiv ) ; jQuery ( b . grid . bDiv ) . scroll ( function ( ) { jQuery ( b . grid . fbDiv ) . scrollTop ( jQuery ( this ) . scrollTop ( ) ) } ) ; b . p . orgEvents . complete = a . isFunction ( b . p . _complete ) ? b . p . _complete : null ; b . p . hoverrows === true && a ( "#" + a . jgrid . jqID ( b . p . id ) ) . unbind ( "mouseover" ) . unbind ( "mouseout" ) ;
b . p . _complete = function ( ) { a ( "#" + a . jgrid . jqID ( b . p . id ) + "_frozen" ) . remove ( ) ; jQuery ( b . grid . fbDiv ) . height ( jQuery ( b . grid . bDiv ) . height ( ) - 16 ) ; var h = a ( "#" + a . jgrid . jqID ( b . p . id ) ) . clone ( true ) ; a ( "tr" , h ) . each ( function ( ) { a ( "td:gt(" + k + ")" , this ) . remove ( ) } ) ; a ( h ) . width ( 1 ) . attr ( "id" , a . jgrid . jqID ( b . p . id ) + "_frozen" ) ; a ( b . grid . fbDiv ) . append ( h ) ; if ( b . p . hoverrows === true ) { a ( "tr.jqgrow" , h ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) ; a ( "#" + a . jgrid . jqID ( this . id ) , "#" + a . jgrid . jqID ( b . p . id ) ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) ;
a ( "#" + a . jgrid . jqID ( this . id ) , "#" + a . jgrid . jqID ( b . p . id ) ) . removeClass ( "ui-state-hover" ) } ) ; a ( "tr.jqgrow" , "#" + a . jgrid . jqID ( b . p . id ) ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) ; a ( "#" + a . jgrid . jqID ( this . id ) , "#" + a . jgrid . jqID ( b . p . id ) + "_frozen" ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) ; a ( "#" + a . jgrid . jqID ( this . id ) , "#" + a . jgrid . jqID ( b . p . id ) + "_frozen" ) . removeClass ( "ui-state-hover" ) } ) } h = null ; a . isFunction ( b . p . orgEvents . complete ) && b . p . orgEvents . complete . call ( b ) } ; b . p . frozenColumns =
true } } } } ) } , destroyFrozenColumns : function ( ) { return this . each ( function ( ) { if ( this . grid ) if ( this . p . frozenColumns === true ) { a ( this . grid . fhDiv ) . remove ( ) ; a ( this . grid . fbDiv ) . remove ( ) ; this . grid . fhDiv = null ; this . grid . fbDiv = null ; this . p . _complete = this . p . orgEvents . complete ; this . p . resizeStop = this . p . orgEvents . resizeStop ; this . p . onSortCol = this . p . orgEvents . onSortCol ; this . p . orgEvents = null ; if ( this . p . hoverrows == true ) { var b ; a ( "#" + a . jgrid . jqID ( this . p . id ) ) . bind ( "mouseover" , function ( e ) { b = a ( e . target ) . closest ( "tr.jqgrow" ) ; a ( b ) . attr ( "class" ) !==
"ui-subgrid" && a ( b ) . addClass ( "ui-state-hover" ) } ) . bind ( "mouseout" , function ( e ) { b = a ( e . target ) . closest ( "tr.jqgrow" ) ; a ( b ) . removeClass ( "ui-state-hover" ) } ) } this . p . frozenColumns = false } } ) } } ) } ) ( jQuery ) ;
( function ( a ) { a . extend ( a . jgrid , { showModal : function ( b ) { b . w . show ( ) } , closeModal : function ( b ) { b . w . hide ( ) . attr ( "aria-hidden" , "true" ) ; b . o && b . o . remove ( ) } , hideModal : function ( b , c ) { c = a . extend ( { jqm : true , gb : "" } , c || { } ) ; if ( c . onClose ) { var d = c . onClose ( b ) ; if ( typeof d == "boolean" && ! d ) return } if ( a . fn . jqm && c . jqm === true ) a ( b ) . attr ( "aria-hidden" , "true" ) . jqmHide ( ) ; else { if ( c . gb !== "" ) try { a ( ".jqgrid-overlay:first" , c . gb ) . hide ( ) } catch ( f ) { } a ( b ) . hide ( ) . attr ( "aria-hidden" , "true" ) } } , findPos : function ( b ) { var c = 0 , d = 0 ; if ( b . offsetParent ) { do { c +=
b . offsetLeft ; d += b . offsetTop } while ( b = b . offsetParent ) } return [ c , d ] } , createModal : function ( b , c , d , f , g , h , j ) { var e = document . createElement ( "div" ) , k , q = this ; j = a . extend ( { } , j || { } ) ; k = a ( d . gbox ) . attr ( "dir" ) == "rtl" ? true : false ; e . className = "ui-widget ui-widget-content ui-corner-all ui-jqdialog" ; e . id = b . themodal ; var i = document . createElement ( "div" ) ; i . className = "ui-jqdialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" ; i . id = b . modalhead ; a ( i ) . append ( "<span class='ui-jqdialog-title'>" + d . caption + "</span>" ) ; var n =
a ( "<a href='javascript:void(0)' class='ui-jqdialog-titlebar-close ui-corner-all'></a>" ) . hover ( function ( ) { n . addClass ( "ui-state-hover" ) } , function ( ) { n . removeClass ( "ui-state-hover" ) } ) . append ( "<span class='ui-icon ui-icon-closethick'></span>" ) ; a ( i ) . append ( n ) ; if ( k ) { e . dir = "rtl" ; a ( ".ui-jqdialog-title" , i ) . css ( "float" , "right" ) ; a ( ".ui-jqdialog-titlebar-close" , i ) . css ( "left" , "0.3em" ) } else { e . dir = "ltr" ; a ( ".ui-jqdialog-title" , i ) . css ( "float" , "left" ) ; a ( ".ui-jqdialog-titlebar-close" , i ) . css ( "right" , "0.3em" ) } var r = document . createElement ( "div" ) ;
a ( r ) . addClass ( "ui-jqdialog-content ui-widget-content" ) . attr ( "id" , b . modalcontent ) ; a ( r ) . append ( c ) ; e . appendChild ( r ) ; a ( e ) . prepend ( i ) ; if ( h === true ) a ( "body" ) . append ( e ) ; else typeof h == "string" ? a ( h ) . append ( e ) : a ( e ) . insertBefore ( f ) ; a ( e ) . css ( j ) ; if ( typeof d . jqModal === "undefined" ) d . jqModal = true ; c = { } ; if ( a . fn . jqm && d . jqModal === true ) { if ( d . left === 0 && d . top === 0 && d . overlay ) { j = [ ] ; j = this . findPos ( g ) ; d . left = j [ 0 ] + 4 ; d . top = j [ 1 ] + 4 } c . top = d . top + "px" ; c . left = d . left } else if ( d . left !== 0 || d . top !== 0 ) { c . left = d . left ; c . top = d . top + "px" } a ( "a.ui-jqdialog-titlebar-close" ,
i ) . click ( function ( ) { var o = a ( "#" + b . themodal ) . data ( "onClose" ) || d . onClose , s = a ( "#" + b . themodal ) . data ( "gbox" ) || d . gbox ; q . hideModal ( "#" + b . themodal , { gb : s , jqm : d . jqModal , onClose : o } ) ; return false } ) ; if ( d . width === 0 || ! d . width ) d . width = 300 ; if ( d . height === 0 || ! d . height ) d . height = 200 ; if ( ! d . zIndex ) { f = a ( f ) . parents ( "*[role=dialog]" ) . filter ( ":first" ) . css ( "z-index" ) ; d . zIndex = f ? parseInt ( f , 10 ) + 2 : 950 } f = 0 ; if ( k && c . left && ! h ) { f = a ( d . gbox ) . width ( ) - ( ! isNaN ( d . width ) ? parseInt ( d . width , 10 ) : 0 ) - 8 ; c . left = parseInt ( c . left , 10 ) + parseInt ( f , 10 ) } if ( c . left ) c . left +=
"px" ; a ( e ) . css ( a . extend ( { width : isNaN ( d . width ) ? "auto" : d . width + "px" , height : isNaN ( d . height ) ? "auto" : d . height + "px" , zIndex : d . zIndex , overflow : "hidden" } , c ) ) . attr ( { tabIndex : "-1" , role : "dialog" , "aria-labelledby" : b . modalhead , "aria-hidden" : "true" } ) ; if ( typeof d . drag == "undefined" ) d . drag = true ; if ( typeof d . resize == "undefined" ) d . resize = true ; if ( d . drag ) { a ( i ) . css ( "cursor" , "move" ) ; if ( a . fn . jqDrag ) a ( e ) . jqDrag ( i ) ; else try { a ( e ) . draggable ( { handle : a ( "#" + i . id ) } ) } catch ( m ) { } } if ( d . resize ) if ( a . fn . jqResize ) { a ( e ) . append ( "<div class='jqResize ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se ui-icon-grip-diagonal-se'></div>" ) ;
a ( "#" + b . themodal ) . jqResize ( ".jqResize" , b . scrollelm ? "#" + b . scrollelm : false ) } else try { a ( e ) . resizable ( { handles : "se, sw" , alsoResize : b . scrollelm ? "#" + b . scrollelm : false } ) } catch ( l ) { } d . closeOnEscape === true && a ( e ) . keydown ( function ( o ) { if ( o . which == 27 ) { o = a ( "#" + b . themodal ) . data ( "onClose" ) || d . onClose ; q . hideModal ( this , { gb : d . gbox , jqm : d . jqModal , onClose : o } ) } } ) } , viewModal : function ( b , c ) { c = a . extend ( { toTop : true , overlay : 10 , modal : false , overlayClass : "ui-widget-overlay" , onShow : this . showModal , onHide : this . closeModal , gbox : "" , jqm : true ,
jqM : true } , c || { } ) ; if ( a . fn . jqm && c . jqm === true ) c . jqM ? a ( b ) . attr ( "aria-hidden" , "false" ) . jqm ( c ) . jqmShow ( ) : a ( b ) . attr ( "aria-hidden" , "false" ) . jqmShow ( ) ; else { if ( c . gbox !== "" ) { a ( ".jqgrid-overlay:first" , c . gbox ) . show ( ) ; a ( b ) . data ( "gbox" , c . gbox ) } a ( b ) . show ( ) . attr ( "aria-hidden" , "false" ) ; try { a ( ":input:visible" , b ) [ 0 ] . focus ( ) } catch ( d ) { } } } , info _dialog : function ( b , c , d , f ) { var g = { width : 290 , height : "auto" , dataheight : "auto" , drag : true , resize : false , caption : "<b>" + b + "</b>" , left : 250 , top : 170 , zIndex : 1E3 , jqModal : true , modal : false , closeOnEscape : true ,
align : "center" , buttonalign : "center" , buttons : [ ] } ; a . extend ( g , f || { } ) ; var h = g . jqModal , j = this ; if ( a . fn . jqm && ! h ) h = false ; b = "" ; if ( g . buttons . length > 0 ) for ( f = 0 ; f < g . buttons . length ; f ++ ) { if ( typeof g . buttons [ f ] . id == "undefined" ) g . buttons [ f ] . id = "info_button_" + f ; b += "<a href='javascript:void(0)' id='" + g . buttons [ f ] . id + "' class='fm-button ui-state-default ui-corner-all'>" + g . buttons [ f ] . text + "</a>" } f = isNaN ( g . dataheight ) ? g . dataheight : g . dataheight + "px" ; var e = "<div id='info_id'>" ; e += "<div id='infocnt' style='margin:0px;padding-bottom:1em;width:100%;overflow:auto;position:relative;height:" +
f + ";" + ( "text-align:" + g . align + ";" ) + "'>" + c + "</div>" ; e += d ? "<div class='ui-widget-content ui-helper-clearfix' style='text-align:" + g . buttonalign + ";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'><a href='javascript:void(0)' id='closedialog' class='fm-button ui-state-default ui-corner-all'>" + d + "</a>" + b + "</div>" : b !== "" ? "<div class='ui-widget-content ui-helper-clearfix' style='text-align:" + g . buttonalign + ";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'>" +
b + "</div>" : "" ; e += "</div>" ; try { a ( "#info_dialog" ) . attr ( "aria-hidden" ) == "false" && this . hideModal ( "#info_dialog" , { jqm : h } ) ; a ( "#info_dialog" ) . remove ( ) } catch ( k ) { } this . createModal ( { themodal : "info_dialog" , modalhead : "info_head" , modalcontent : "info_content" , scrollelm : "infocnt" } , e , g , "" , "" , true ) ; b && a . each ( g . buttons , function ( i ) { a ( "#" + this . id , "#info_id" ) . bind ( "click" , function ( ) { g . buttons [ i ] . onClick . call ( a ( "#info_dialog" ) ) ; return false } ) } ) ; a ( "#closedialog" , "#info_id" ) . click ( function ( ) { j . hideModal ( "#info_dialog" , { jqm : h } ) ;
return false } ) ; a ( ".fm-button" , "#info_dialog" ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; a . isFunction ( g . beforeOpen ) && g . beforeOpen ( ) ; this . viewModal ( "#info_dialog" , { onHide : function ( i ) { i . w . hide ( ) . remove ( ) ; i . o && i . o . remove ( ) } , modal : g . modal , jqm : h } ) ; a . isFunction ( g . afterOpen ) && g . afterOpen ( ) ; try { a ( "#info_dialog" ) . focus ( ) } catch ( q ) { } } , createEl : function ( b , c , d , f , g ) { function h ( m , l ) { a . isFunction ( l . dataInit ) && l . dataInit ( m ) ; l . dataEvents && a . each ( l . dataEvents ,
function ( ) { this . data !== undefined ? a ( m ) . bind ( this . type , this . data , this . fn ) : a ( m ) . bind ( this . type , this . fn ) } ) ; return l } function j ( m , l , o ) { var s = [ "dataInit" , "dataEvents" , "dataUrl" , "buildSelect" , "sopt" , "searchhidden" , "defaultValue" , "attr" ] ; if ( typeof o != "undefined" && a . isArray ( o ) ) s = a . extend ( s , o ) ; a . each ( l , function ( p , t ) { a . inArray ( p , s ) === - 1 && a ( m ) . attr ( p , t ) } ) ; l . hasOwnProperty ( "id" ) || a ( m ) . attr ( "id" , a . jgrid . randId ( ) ) } var e = "" ; switch ( b ) { case "textarea" : e = document . createElement ( "textarea" ) ; if ( f ) c . cols || a ( e ) . css ( { width : "98%" } ) ;
else if ( ! c . cols ) c . cols = 20 ; if ( ! c . rows ) c . rows = 2 ; if ( d == " " || d == " " || d . length == 1 && d . charCodeAt ( 0 ) == 160 ) d = "" ; e . value = d ; j ( e , c ) ; c = h ( e , c ) ; a ( e ) . attr ( { role : "textbox" , multiline : "true" } ) ; break ; case "checkbox" : e = document . createElement ( "input" ) ; e . type = "checkbox" ; if ( c . value ) { b = c . value . split ( ":" ) ; if ( d === b [ 0 ] ) { e . checked = true ; e . defaultChecked = true } e . value = b [ 0 ] ; a ( e ) . attr ( "offval" , b [ 1 ] ) } else { b = d . toLowerCase ( ) ; if ( b . search ( /(false|0|no|off|undefined)/i ) < 0 && b !== "" ) { e . checked = true ; e . defaultChecked = true ; e . value =
d } else e . value = "on" ; a ( e ) . attr ( "offval" , "off" ) } j ( e , c , [ "value" ] ) ; c = h ( e , c ) ; a ( e ) . attr ( "role" , "checkbox" ) ; break ; case "select" : e = document . createElement ( "select" ) ; e . setAttribute ( "role" , "select" ) ; f = [ ] ; if ( c . multiple === true ) { b = true ; e . multiple = "multiple" ; a ( e ) . attr ( "aria-multiselectable" , "true" ) } else b = false ; if ( typeof c . dataUrl != "undefined" ) a . ajax ( a . extend ( { url : c . dataUrl , type : "GET" , dataType : "html" , context : { elem : e , options : c , vl : d } , success : function ( m ) { var l = [ ] , o = this . elem , s = this . vl , p = a . extend ( { } , this . options ) , t =
p . multiple === true ; if ( typeof p . buildSelect != "undefined" ) m = p . buildSelect ( m ) ; if ( m = a ( m ) . html ( ) ) { a ( o ) . append ( m ) ; j ( o , p ) ; p = h ( o , p ) ; if ( typeof p . size === "undefined" ) p . size = t ? 3 : 1 ; if ( t ) { l = s . split ( "," ) ; l = a . map ( l , function ( u ) { return a . trim ( u ) } ) } else l [ 0 ] = a . trim ( s ) ; setTimeout ( function ( ) { a ( "option" , o ) . each ( function ( ) { a ( this ) . attr ( "role" , "option" ) ; if ( a . inArray ( a . trim ( a ( this ) . text ( ) ) , l ) > - 1 || a . inArray ( a . trim ( a ( this ) . val ( ) ) , l ) > - 1 ) this . selected = "selected" } ) } , 0 ) } } } , g || { } ) ) ; else if ( c . value ) { var k ; if ( typeof c . size === "undefined" ) c . size =
b ? 3 : 1 ; if ( b ) { f = d . split ( "," ) ; f = a . map ( f , function ( m ) { return a . trim ( m ) } ) } if ( typeof c . value === "function" ) c . value = c . value ( ) ; var q , i , n = c . separator === undefined ? ":" : c . separator ; if ( typeof c . value === "string" ) { q = c . value . split ( ";" ) ; for ( k = 0 ; k < q . length ; k ++ ) { i = q [ k ] . split ( n ) ; if ( i . length > 2 ) i [ 1 ] = a . map ( i , function ( m , l ) { if ( l > 0 ) return m } ) . join ( ":" ) ; g = document . createElement ( "option" ) ; g . setAttribute ( "role" , "option" ) ; g . value = i [ 0 ] ; g . innerHTML = i [ 1 ] ; e . appendChild ( g ) ; if ( ! b && ( a . trim ( i [ 0 ] ) == a . trim ( d ) || a . trim ( i [ 1 ] ) == a . trim ( d ) ) ) g . selected =
"selected" ; if ( b && ( a . inArray ( a . trim ( i [ 1 ] ) , f ) > - 1 || a . inArray ( a . trim ( i [ 0 ] ) , f ) > - 1 ) ) g . selected = "selected" } } else if ( typeof c . value === "object" ) { n = c . value ; for ( k in n ) if ( n . hasOwnProperty ( k ) ) { g = document . createElement ( "option" ) ; g . setAttribute ( "role" , "option" ) ; g . value = k ; g . innerHTML = n [ k ] ; e . appendChild ( g ) ; if ( ! b && ( a . trim ( k ) == a . trim ( d ) || a . trim ( n [ k ] ) == a . trim ( d ) ) ) g . selected = "selected" ; if ( b && ( a . inArray ( a . trim ( n [ k ] ) , f ) > - 1 || a . inArray ( a . trim ( k ) , f ) > - 1 ) ) g . selected = "selected" } } j ( e , c , [ "value" ] ) ; c = h ( e , c ) } break ; case "text" : case "password" : case "button" : k =
b == "button" ? "button" : "textbox" ; e = document . createElement ( "input" ) ; e . type = b ; e . value = d ; j ( e , c ) ; c = h ( e , c ) ; if ( b != "button" ) if ( f ) c . size || a ( e ) . css ( { width : "98%" } ) ; else if ( ! c . size ) c . size = 20 ; a ( e ) . attr ( "role" , k ) ; break ; case "image" : case "file" : e = document . createElement ( "input" ) ; e . type = b ; j ( e , c ) ; c = h ( e , c ) ; break ; case "custom" : e = document . createElement ( "span" ) ; try { if ( a . isFunction ( c . custom _element ) ) if ( n = c . custom _element . call ( this , d , c ) ) { n = a ( n ) . addClass ( "customelement" ) . attr ( { id : c . id , name : c . name } ) ; a ( e ) . empty ( ) . append ( n ) } else throw "e2" ;
else throw "e1" ; } catch ( r ) { r == "e1" && this . info _dialog ( a . jgrid . errors . errcap , "function 'custom_element' " + a . jgrid . edit . msg . nodefined , a . jgrid . edit . bClose ) ; r == "e2" ? this . info _dialog ( a . jgrid . errors . errcap , "function 'custom_element' " + a . jgrid . edit . msg . novalue , a . jgrid . edit . bClose ) : this . info _dialog ( a . jgrid . errors . errcap , typeof r === "string" ? r : r . message , a . jgrid . edit . bClose ) } } return e } , checkDate : function ( b , c ) { var d = { } , f ; b = b . toLowerCase ( ) ; f = b . indexOf ( "/" ) != - 1 ? "/" : b . indexOf ( "-" ) != - 1 ? "-" : b . indexOf ( "." ) != - 1 ? "." : "/" ;
b = b . split ( f ) ; c = c . split ( f ) ; if ( c . length != 3 ) return false ; f = - 1 ; for ( var g , h = - 1 , j = - 1 , e = 0 ; e < b . length ; e ++ ) { g = isNaN ( c [ e ] ) ? 0 : parseInt ( c [ e ] , 10 ) ; d [ b [ e ] ] = g ; g = b [ e ] ; if ( g . indexOf ( "y" ) != - 1 ) f = e ; if ( g . indexOf ( "m" ) != - 1 ) j = e ; if ( g . indexOf ( "d" ) != - 1 ) h = e } g = b [ f ] == "y" || b [ f ] == "yyyy" ? 4 : b [ f ] == "yy" ? 2 : - 1 ; e = function ( q ) { for ( var i = 1 ; i <= q ; i ++ ) { this [ i ] = 31 ; if ( i == 4 || i == 6 || i == 9 || i == 11 ) this [ i ] = 30 ; if ( i == 2 ) this [ i ] = 29 } return this } ( 12 ) ; var k ; if ( f === - 1 ) return false ; else { k = d [ b [ f ] ] . toString ( ) ; if ( g == 2 && k . length == 1 ) g = 1 ; if ( k . length != g || d [ b [ f ] ] === 0 &&
c [ f ] != "00" ) return false } if ( j === - 1 ) return false ; else { k = d [ b [ j ] ] . toString ( ) ; if ( k . length < 1 || d [ b [ j ] ] < 1 || d [ b [ j ] ] > 12 ) return false } if ( h === - 1 ) return false ; else { k = d [ b [ h ] ] . toString ( ) ; if ( k . length < 1 || d [ b [ h ] ] < 1 || d [ b [ h ] ] > 31 || d [ b [ j ] ] == 2 && d [ b [ h ] ] > ( d [ b [ f ] ] % 4 === 0 && ( d [ b [ f ] ] % 100 !== 0 || d [ b [ f ] ] % 400 === 0 ) ? 29 : 28 ) || d [ b [ h ] ] > e [ d [ b [ j ] ] ] ) return false } return true } , isEmpty : function ( b ) { return b . match ( /^\s+$/ ) || b === "" ? true : false } , checkTime : function ( b ) { var c = /^(\d{1,2}):(\d{2})([ap]m)?$/ ; if ( ! this . isEmpty ( b ) ) if ( b = b . match ( c ) ) { if ( b [ 3 ] ) { if ( b [ 1 ] <
1 || b [ 1 ] > 12 ) return false } else if ( b [ 1 ] > 23 ) return false ; if ( b [ 2 ] > 59 ) return false } else return false ; return true } , checkValues : function ( b , c , d , f , g ) { var h , j ; if ( typeof f === "undefined" ) if ( typeof c == "string" ) { f = 0 ; for ( g = d . p . colModel . length ; f < g ; f ++ ) if ( d . p . colModel [ f ] . name == c ) { h = d . p . colModel [ f ] . editrules ; c = f ; try { j = d . p . colModel [ f ] . formoptions . label } catch ( e ) { } break } } else { if ( c >= 0 ) h = d . p . colModel [ c ] . editrules } else { h = f ; j = g === undefined ? "_" : g } if ( h ) { j || ( j = d . p . colNames [ c ] ) ; if ( h . required === true ) if ( this . isEmpty ( b ) ) return [ false ,
j + ": " + a . jgrid . edit . msg . required , "" ] ; f = h . required === false ? false : true ; if ( h . number === true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) if ( isNaN ( b ) ) return [ false , j + ": " + a . jgrid . edit . msg . number , "" ] ; if ( typeof h . minValue != "undefined" && ! isNaN ( h . minValue ) ) if ( parseFloat ( b ) < parseFloat ( h . minValue ) ) return [ false , j + ": " + a . jgrid . edit . msg . minValue + " " + h . minValue , "" ] ; if ( typeof h . maxValue != "undefined" && ! isNaN ( h . maxValue ) ) if ( parseFloat ( b ) > parseFloat ( h . maxValue ) ) return [ false , j + ": " + a . jgrid . edit . msg . maxValue + " " + h . maxValue , "" ] ; if ( h . email ===
true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) { g = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i ;
if ( ! g . test ( b ) ) return [ false , j + ": " + a . jgrid . edit . msg . email , "" ] } if ( h . integer === true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) { if ( isNaN ( b ) ) return [ false , j + ": " + a . jgrid . edit . msg . integer , "" ] ; if ( b % 1 !== 0 || b . indexOf ( "." ) != - 1 ) return [ false , j + ": " + a . jgrid . edit . msg . integer , "" ] } if ( h . date === true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) { c = d . p . colModel [ c ] . formatoptions && d . p . colModel [ c ] . formatoptions . newformat ? d . p . colModel [ c ] . formatoptions . newformat : d . p . colModel [ c ] . datefmt || "Y-m-d" ; if ( ! this . checkDate ( c , b ) ) return [ false , j + ": " + a . jgrid . edit . msg . date +
" - " + c , "" ] } if ( h . time === true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) if ( ! this . checkTime ( b ) ) return [ false , j + ": " + a . jgrid . edit . msg . date + " - hh:mm (am/pm)" , "" ] ; if ( h . url === true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) { g = /^(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i ; if ( ! g . test ( b ) ) return [ false , j + ": " + a . jgrid . edit . msg . url , "" ] } if ( h . custom === true ) if ( ! ( f === false && this . isEmpty ( b ) ) ) if ( a . isFunction ( h . custom _func ) ) { b = h . custom _func . call ( d , b , j ) ; return a . isArray ( b ) ?
b : [ false , a . jgrid . edit . msg . customarray , "" ] } else return [ false , a . jgrid . edit . msg . customfcheck , "" ] } return [ true , "" , "" ] } } ) } ) ( jQuery ) ;
( function ( a ) { var d = { } ; a . jgrid . extend ( { searchGrid : function ( f ) { f = a . extend ( { recreateFilter : false , drag : true , sField : "searchField" , sValue : "searchString" , sOper : "searchOper" , sFilter : "filters" , loadDefaults : true , beforeShowSearch : null , afterShowSearch : null , onInitializeSearch : null , afterRedraw : null , closeAfterSearch : false , closeAfterReset : false , closeOnEscape : false , multipleSearch : false , multipleGroup : false , top : 0 , left : 0 , jqModal : true , modal : false , resize : true , width : 450 , height : "auto" , dataheight : "auto" , showQuery : false , errorcheck : true ,
sopt : null , stringResult : undefined , onClose : null , onSearch : null , onReset : null , toTop : true , overlay : 30 , columns : [ ] , tmplNames : null , tmplFilters : null , tmplLabel : " Template: " , showOnLoad : false , layer : null } , a . jgrid . search , f || { } ) ; return this . each ( function ( ) { function b ( ) { if ( a . isFunction ( f . beforeShowSearch ) ) { x = f . beforeShowSearch ( a ( "#" + q ) ) ; if ( typeof x === "undefined" ) x = true } if ( x ) { a . jgrid . viewModal ( "#" + G . themodal , { gbox : "#gbox_" + q , jqm : f . jqModal , modal : f . modal , overlay : f . overlay , toTop : f . toTop } ) ; a . isFunction ( f . afterShowSearch ) &&
f . afterShowSearch ( a ( "#" + q ) ) } } var e = this ; if ( e . grid ) { var q = "fbox_" + e . p . id , x = true , G = { themodal : "searchmod" + q , modalhead : "searchhd" + q , modalcontent : "searchcnt" + q , scrollelm : q } , B = e . p . postData [ f . sFilter ] ; if ( typeof B === "string" ) B = a . jgrid . parse ( B ) ; f . recreateFilter === true && a ( "#" + G . themodal ) . remove ( ) ; if ( a ( "#" + G . themodal ) . html ( ) !== null ) b ( ) ; else { var w = a ( "<div><div id='" + q + "' class='searchFilter' style='overflow:auto'></div></div>" ) . insertBefore ( "#gview_" + e . p . id ) , n = "left" , j = "" ; if ( e . p . direction == "rtl" ) { n = "right" ; j =
" style='text-align:left'" ; w . attr ( "dir" , "rtl" ) } var s = a . extend ( [ ] , e . p . colModel ) , M = "<a href='javascript:void(0)' id='" + q + "_search' class='fm-button ui-state-default ui-corner-all fm-button-icon-right ui-reset'><span class='ui-icon ui-icon-search'></span>" + f . Find + "</a>" , c = "<a href='javascript:void(0)' id='" + q + "_reset' class='fm-button ui-state-default ui-corner-all fm-button-icon-left ui-search'><span class='ui-icon ui-icon-arrowreturnthick-1-w'></span>" + f . Reset + "</a>" , t = "" , o = "" , i , m = false , H = - 1 ; if ( f . showQuery ) t =
"<a href='javascript:void(0)' id='" + q + "_query' class='fm-button ui-state-default ui-corner-all fm-button-icon-left'><span class='ui-icon ui-icon-comment'></span>Query</a>" ; if ( f . columns . length ) s = f . columns ; else a . each ( s , function ( u , C ) { if ( ! C . label ) C . label = e . p . colNames [ u ] ; if ( ! m ) { var A = typeof C . search === "undefined" ? true : C . search , l = C . hidden === true ; if ( C . searchoptions && C . searchoptions . searchhidden === true && A || A && ! l ) { m = true ; i = C . index || C . name ; H = u } } } ) ; if ( ! B && i || f . multipleSearch === false ) { var J = "eq" ; if ( H >= 0 && s [ H ] . searchoptions &&
s [ H ] . searchoptions . sopt ) J = s [ H ] . searchoptions . sopt [ 0 ] ; else if ( f . sopt && f . sopt . length ) J = f . sopt [ 0 ] ; B = { groupOp : "AND" , rules : [ { field : i , op : J , data : "" } ] } } m = false ; if ( f . tmplNames && f . tmplNames . length ) { m = true ; o = f . tmplLabel ; o += "<select class='ui-template'>" ; o += "<option value='default'>Default</option>" ; a . each ( f . tmplNames , function ( u , C ) { o += "<option value='" + u + "'>" + C + "</option>" } ) ; o += "</select>" } n = "<table class='EditTable' style='border:0px none;margin-top:5px' id='" + q + "_2'><tbody><tr><td colspan='2'><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr><td class='EditButton' style='text-align:" +
n + "'>" + c + o + "</td><td class='EditButton' " + j + ">" + t + M + "</td></tr></tbody></table>" ; a ( "#" + q ) . jqFilter ( { columns : s , filter : f . loadDefaults ? B : null , showQuery : f . showQuery , errorcheck : f . errorcheck , sopt : f . sopt , groupButton : f . multipleGroup , ruleButtons : f . multipleSearch , afterRedraw : f . afterRedraw , _gridsopt : a . jgrid . search . odata , ajaxSelectOptions : e . p . ajaxSelectOptions , onChange : function ( ) { this . p . showQuery && a ( ".query" , this ) . html ( this . toUserFriendlyString ( ) ) } , direction : e . p . direction } ) ; w . append ( n ) ; m && f . tmplFilters && f . tmplFilters . length &&
a ( ".ui-template" , w ) . bind ( "change" , function ( ) { var u = a ( this ) . val ( ) ; u == "default" ? a ( "#" + q ) . jqFilter ( "addFilter" , B ) : a ( "#" + q ) . jqFilter ( "addFilter" , f . tmplFilters [ parseInt ( u , 10 ) ] ) ; return false } ) ; if ( f . multipleGroup === true ) f . multipleSearch = true ; if ( a . isFunction ( f . onInitializeSearch ) ) f . onInitializeSearch ( a ( "#" + q ) ) ; f . gbox = "#gbox_" + q ; f . layer ? a . jgrid . createModal ( G , w , f , "#gview_" + e . p . id , a ( "#gbox_" + e . p . id ) [ 0 ] , "#" + f . layer , { position : "relative" } ) : a . jgrid . createModal ( G , w , f , "#gview_" + e . p . id , a ( "#gbox_" + e . p . id ) [ 0 ] ) ; t && a ( "#" +
q + "_query" ) . bind ( "click" , function ( ) { a ( ".queryresult" , w ) . toggle ( ) ; return false } ) ; if ( f . stringResult === undefined ) f . stringResult = f . multipleSearch ; a ( "#" + q + "_search" ) . bind ( "click" , function ( ) { var u = a ( "#" + q ) , C = { } , A , l = u . jqFilter ( "filterData" ) ; if ( f . errorcheck ) { u [ 0 ] . hideError ( ) ; f . showQuery || u . jqFilter ( "toSQLString" ) ; if ( u [ 0 ] . p . error ) { u [ 0 ] . showError ( ) ; return false } } if ( f . stringResult ) { try { A = xmlJsonClass . toJson ( l , "" , "" , false ) } catch ( y ) { try { A = JSON . stringify ( l ) } catch ( h ) { } } if ( typeof A === "string" ) { C [ f . sFilter ] = A ; a . each ( [ f . sField ,
f . sValue , f . sOper ] , function ( ) { C [ this ] = "" } ) } } else if ( f . multipleSearch ) { C [ f . sFilter ] = l ; a . each ( [ f . sField , f . sValue , f . sOper ] , function ( ) { C [ this ] = "" } ) } else { C [ f . sField ] = l . rules [ 0 ] . field ; C [ f . sValue ] = l . rules [ 0 ] . data ; C [ f . sOper ] = l . rules [ 0 ] . op ; C [ f . sFilter ] = "" } e . p . search = true ; a . extend ( e . p . postData , C ) ; if ( a . isFunction ( f . onSearch ) ) f . onSearch ( ) ; a ( e ) . trigger ( "reloadGrid" , [ { page : 1 } ] ) ; f . closeAfterSearch && a . jgrid . hideModal ( "#" + G . themodal , { gb : "#gbox_" + e . p . id , jqm : f . jqModal , onClose : f . onClose } ) ; return false } ) ; a ( "#" + q + "_reset" ) . bind ( "click" ,
function ( ) { var u = { } , C = a ( "#" + q ) ; e . p . search = false ; if ( f . multipleSearch === false ) u [ f . sField ] = u [ f . sValue ] = u [ f . sOper ] = "" ; else u [ f . sFilter ] = "" ; C [ 0 ] . resetFilter ( ) ; m && a ( ".ui-template" , w ) . val ( "default" ) ; a . extend ( e . p . postData , u ) ; if ( a . isFunction ( f . onReset ) ) f . onReset ( ) ; a ( e ) . trigger ( "reloadGrid" , [ { page : 1 } ] ) ; return false } ) ; b ( ) ; a ( ".fm-button:not(.ui-state-disabled)" , w ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) } } } ) } , editGridRow : function ( f , b ) { b = a . extend ( { top : 0 ,
left : 0 , width : 300 , height : "auto" , dataheight : "auto" , modal : false , overlay : 30 , drag : true , resize : true , url : null , mtype : "POST" , clearAfterAdd : true , closeAfterEdit : false , reloadAfterSubmit : true , onInitializeForm : null , beforeInitData : null , beforeShowForm : null , afterShowForm : null , beforeSubmit : null , afterSubmit : null , onclickSubmit : null , afterComplete : null , onclickPgButtons : null , afterclickPgButtons : null , editData : { } , recreateForm : false , jqModal : true , closeOnEscape : false , addedrow : "first" , topinfo : "" , bottominfo : "" , saveicon : [ ] , closeicon : [ ] ,
savekey : [ false , 13 ] , navkeys : [ false , 38 , 40 ] , checkOnSubmit : false , checkOnUpdate : false , _savedData : { } , processing : false , onClose : null , ajaxEditOptions : { } , serializeEditData : null , viewPagerButtons : true } , a . jgrid . edit , b || { } ) ; d [ a ( this ) [ 0 ] . p . id ] = b ; return this . each ( function ( ) { function e ( ) { a ( "#" + i + " > tbody > tr > td > .FormElement" ) . each ( function ( ) { var g = a ( ".customelement" , this ) ; if ( g . length ) { var k = a ( g [ 0 ] ) . attr ( "name" ) ; a . each ( c . p . colModel , function ( ) { if ( this . name === k && this . editoptions && a . isFunction ( this . editoptions . custom _value ) ) { try { h [ k ] =
this . editoptions . custom _value ( a ( "#" + a . jgrid . jqID ( k ) , "#" + i ) , "get" ) ; if ( h [ k ] === undefined ) throw "e1" ; } catch ( p ) { p === "e1" ? a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , "function 'custom_value' " + a . jgrid . edit . msg . novalue , jQuery . jgrid . edit . bClose ) : a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , p . message , jQuery . jgrid . edit . bClose ) } return true } } ) } else { switch ( a ( this ) . get ( 0 ) . type ) { case "checkbox" : if ( a ( this ) . is ( ":checked" ) ) h [ this . name ] = a ( this ) . val ( ) ; else { g = a ( this ) . attr ( "offval" ) ; h [ this . name ] = g } break ; case "select-one" : h [ this . name ] =
a ( "option:selected" , this ) . val ( ) ; O [ this . name ] = a ( "option:selected" , this ) . text ( ) ; break ; case "select-multiple" : h [ this . name ] = a ( this ) . val ( ) ; h [ this . name ] = h [ this . name ] ? h [ this . name ] . join ( "," ) : "" ; var v = [ ] ; a ( "option:selected" , this ) . each ( function ( p , E ) { v [ p ] = a ( E ) . text ( ) } ) ; O [ this . name ] = v . join ( "," ) ; break ; case "password" : case "text" : case "textarea" : case "button" : h [ this . name ] = a ( this ) . val ( ) } if ( c . p . autoencode ) h [ this . name ] = a . jgrid . htmlEncode ( h [ this . name ] ) } } ) ; return true } function q ( g , k , v , p ) { var E , D , z , L = 0 , r , R , F , T = [ ] , I =
false , ca = "" , P ; for ( P = 1 ; P <= p ; P ++ ) ca += "<td class='CaptionTD'> </td><td class='DataTD'> </td>" ; if ( g != "_empty" ) I = a ( k ) . jqGrid ( "getInd" , g ) ; a ( k . p . colModel ) . each ( function ( S ) { E = this . name ; R = ( D = this . editrules && this . editrules . edithidden === true ? false : this . hidden === true ? true : false ) ? "style='display:none'" : "" ; if ( E !== "cb" && E !== "subgrid" && this . editable === true && E !== "rn" ) { if ( I === false ) r = "" ; else if ( E == k . p . ExpandColumn && k . p . treeGrid === true ) r = a ( "td:eq(" + S + ")" , k . rows [ I ] ) . text ( ) ; else { try { r = a . unformat ( a ( "td:eq(" +
S + ")" , k . rows [ I ] ) , { rowId : g , colModel : this } , S ) } catch ( ea ) { r = this . edittype && this . edittype == "textarea" ? a ( "td:eq(" + S + ")" , k . rows [ I ] ) . text ( ) : a ( "td:eq(" + S + ")" , k . rows [ I ] ) . html ( ) } if ( ! r || r == " " || r == " " || r . length == 1 && r . charCodeAt ( 0 ) == 160 ) r = "" } var X = a . extend ( { } , this . editoptions || { } , { id : E , name : E } ) , Y = a . extend ( { } , { elmprefix : "" , elmsuffix : "" , rowabove : false , rowcontent : "" } , this . formoptions || { } ) , da = parseInt ( Y . rowpos , 10 ) || L + 1 , fa = parseInt ( ( parseInt ( Y . colpos , 10 ) || 1 ) * 2 , 10 ) ; if ( g == "_empty" && X . defaultValue ) r = a . isFunction ( X . defaultValue ) ?
X . defaultValue ( ) : X . defaultValue ; if ( ! this . edittype ) this . edittype = "text" ; if ( c . p . autoencode ) r = a . jgrid . htmlDecode ( r ) ; F = a . jgrid . createEl ( this . edittype , X , r , false , a . extend ( { } , a . jgrid . ajaxOptions , k . p . ajaxSelectOptions || { } ) ) ; if ( r === "" && this . edittype == "checkbox" ) r = a ( F ) . attr ( "offval" ) ; if ( r === "" && this . edittype == "select" ) r = a ( "option:eq(0)" , F ) . text ( ) ; if ( d [ c . p . id ] . checkOnSubmit || d [ c . p . id ] . checkOnUpdate ) d [ c . p . id ] . _savedData [ E ] = r ; a ( F ) . addClass ( "FormElement" ) ; if ( this . edittype == "text" || this . edittype == "textarea" ) a ( F ) . addClass ( "ui-widget-content ui-corner-all" ) ;
z = a ( v ) . find ( "tr[rowpos=" + da + "]" ) ; if ( Y . rowabove ) { X = a ( "<tr><td class='contentinfo' colspan='" + p * 2 + "'>" + Y . rowcontent + "</td></tr>" ) ; a ( v ) . append ( X ) ; X [ 0 ] . rp = da } if ( z . length === 0 ) { z = a ( "<tr " + R + " rowpos='" + da + "'></tr>" ) . addClass ( "FormData" ) . attr ( "id" , "tr_" + E ) ; a ( z ) . append ( ca ) ; a ( v ) . append ( z ) ; z [ 0 ] . rp = da } a ( "td:eq(" + ( fa - 2 ) + ")" , z [ 0 ] ) . html ( typeof Y . label === "undefined" ? k . p . colNames [ S ] : Y . label ) ; a ( "td:eq(" + ( fa - 1 ) + ")" , z [ 0 ] ) . append ( Y . elmprefix ) . append ( F ) . append ( Y . elmsuffix ) ; T [ L ] = S ; L ++ } } ) ; if ( L > 0 ) { P = a ( "<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='" +
( p * 2 - 1 ) + "' class='DataTD'><input class='FormElement' id='id_g' type='text' name='" + k . p . id + "_id' value='" + g + "'/></td></tr>" ) ; P [ 0 ] . rp = L + 999 ; a ( v ) . append ( P ) ; if ( d [ c . p . id ] . checkOnSubmit || d [ c . p . id ] . checkOnUpdate ) d [ c . p . id ] . _savedData [ k . p . id + "_id" ] = g } return T } function x ( g , k , v ) { var p , E = 0 , D , z , L , r , R ; if ( d [ c . p . id ] . checkOnSubmit || d [ c . p . id ] . checkOnUpdate ) { d [ c . p . id ] . _savedData = { } ; d [ c . p . id ] . _savedData [ k . p . id + "_id" ] = g } var F = k . p . colModel ; if ( g == "_empty" ) { a ( F ) . each ( function ( ) { p = this . name ; L = a . extend ( { } , this . editoptions ||
{ } ) ; if ( ( z = a ( "#" + a . jgrid . jqID ( p ) , "#" + v ) ) && z . length && z [ 0 ] !== null ) { r = "" ; if ( L . defaultValue ) { r = a . isFunction ( L . defaultValue ) ? L . defaultValue ( ) : L . defaultValue ; if ( z [ 0 ] . type == "checkbox" ) { R = r . toLowerCase ( ) ; if ( R . search ( /(false|0|no|off|undefined)/i ) < 0 && R !== "" ) { z [ 0 ] . checked = true ; z [ 0 ] . defaultChecked = true ; z [ 0 ] . value = r } else { z [ 0 ] . checked = false ; z [ 0 ] . defaultChecked = false } } else z . val ( r ) } else if ( z [ 0 ] . type == "checkbox" ) { z [ 0 ] . checked = false ; z [ 0 ] . defaultChecked = false ; r = a ( z ) . attr ( "offval" ) } else if ( z [ 0 ] . type && z [ 0 ] . type . substr ( 0 ,
6 ) == "select" ) z [ 0 ] . selectedIndex = 0 ; else z . val ( r ) ; if ( d [ c . p . id ] . checkOnSubmit === true || d [ c . p . id ] . checkOnUpdate ) d [ c . p . id ] . _savedData [ p ] = r } } ) ; a ( "#id_g" , "#" + v ) . val ( g ) } else { var T = a ( k ) . jqGrid ( "getInd" , g , true ) ; if ( T ) { a ( 'td[role="gridcell"]' , T ) . each ( function ( I ) { p = F [ I ] . name ; if ( p !== "cb" && p !== "subgrid" && p !== "rn" && F [ I ] . editable === true ) { if ( p == k . p . ExpandColumn && k . p . treeGrid === true ) D = a ( this ) . text ( ) ; else try { D = a . unformat ( a ( this ) , { rowId : g , colModel : F [ I ] } , I ) } catch ( ca ) { D = F [ I ] . edittype == "textarea" ? a ( this ) . text ( ) : a ( this ) . html ( ) } if ( c . p . autoencode ) D =
a . jgrid . htmlDecode ( D ) ; if ( d [ c . p . id ] . checkOnSubmit === true || d [ c . p . id ] . checkOnUpdate ) d [ c . p . id ] . _savedData [ p ] = D ; p = a . jgrid . jqID ( p ) ; switch ( F [ I ] . edittype ) { case "password" : case "text" : case "button" : case "image" : case "textarea" : if ( D == " " || D == " " || D . length == 1 && D . charCodeAt ( 0 ) == 160 ) D = "" ; a ( "#" + p , "#" + v ) . val ( D ) ; break ; case "select" : var P = D . split ( "," ) ; P = a . map ( P , function ( ea ) { return a . trim ( ea ) } ) ; a ( "#" + p + " option" , "#" + v ) . each ( function ( ) { this . selected = ! F [ I ] . editoptions . multiple && ( a . trim ( D ) == a . trim ( a ( this ) . text ( ) ) ||
P [ 0 ] == a . trim ( a ( this ) . text ( ) ) || P [ 0 ] == a . trim ( a ( this ) . val ( ) ) ) ? true : F [ I ] . editoptions . multiple ? a . inArray ( a . trim ( a ( this ) . text ( ) ) , P ) > - 1 || a . inArray ( a . trim ( a ( this ) . val ( ) ) , P ) > - 1 ? true : false : false } ) ; break ; case "checkbox" : D += "" ; if ( F [ I ] . editoptions && F [ I ] . editoptions . value ) if ( F [ I ] . editoptions . value . split ( ":" ) [ 0 ] == D ) { a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "checked" , true ) ; a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "defaultChecked" , true ) } else { a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "checked" , false ) ; a ( "#" + p , "#" +
v ) [ c . p . useProp ? "prop" : "attr" ] ( "defaultChecked" , false ) } else { D = D . toLowerCase ( ) ; if ( D . search ( /(false|0|no|off|undefined)/i ) < 0 && D !== "" ) { a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "checked" , true ) ; a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "defaultChecked" , true ) } else { a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "checked" , false ) ; a ( "#" + p , "#" + v ) [ c . p . useProp ? "prop" : "attr" ] ( "defaultChecked" , false ) } } break ; case "custom" : try { if ( F [ I ] . editoptions && a . isFunction ( F [ I ] . editoptions . custom _value ) ) F [ I ] . editoptions . custom _value ( a ( "#" +
p , "#" + v ) , "set" , D ) ; else throw "e1" ; } catch ( S ) { S == "e1" ? a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , "function 'custom_value' " + a . jgrid . edit . msg . nodefined , jQuery . jgrid . edit . bClose ) : a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , S . message , jQuery . jgrid . edit . bClose ) } } E ++ } } ) ; E > 0 && a ( "#id_g" , "#" + i ) . val ( g ) } } } function G ( ) { a . each ( c . p . colModel , function ( g , k ) { if ( k . editoptions && k . editoptions . NullIfEmpty === true ) if ( h . hasOwnProperty ( k . name ) && h [ k . name ] === "" ) h [ k . name ] = "null" } ) } function B ( ) { var g , k = [ true , "" , "" ] , v = { } , p =
c . p . prmNames , E , D , z , L , r ; if ( a . isFunction ( d [ c . p . id ] . beforeCheckValues ) ) { var R = d [ c . p . id ] . beforeCheckValues ( h , a ( "#" + o ) , h [ c . p . id + "_id" ] == "_empty" ? p . addoper : p . editoper ) ; if ( R && typeof R === "object" ) h = R } for ( z in h ) if ( h . hasOwnProperty ( z ) ) { k = a . jgrid . checkValues ( h [ z ] , z , c ) ; if ( k [ 0 ] === false ) break } G ( ) ; if ( k [ 0 ] ) { if ( a . isFunction ( d [ c . p . id ] . onclickSubmit ) ) v = d [ c . p . id ] . onclickSubmit ( d [ c . p . id ] , h ) || { } ; if ( a . isFunction ( d [ c . p . id ] . beforeSubmit ) ) k = d [ c . p . id ] . beforeSubmit ( h , a ( "#" + o ) ) } if ( k [ 0 ] && ! d [ c . p . id ] . processing ) { d [ c . p . id ] . processing =
true ; a ( "#sData" , "#" + i + "_2" ) . addClass ( "ui-state-active" ) ; D = p . oper ; E = p . id ; h [ D ] = a . trim ( h [ c . p . id + "_id" ] ) == "_empty" ? p . addoper : p . editoper ; if ( h [ D ] != p . addoper ) h [ E ] = h [ c . p . id + "_id" ] ; else if ( h [ E ] === undefined ) h [ E ] = h [ c . p . id + "_id" ] ; delete h [ c . p . id + "_id" ] ; h = a . extend ( h , d [ c . p . id ] . editData , v ) ; if ( c . p . treeGrid === true ) { if ( h [ D ] == p . addoper ) { L = a ( c ) . jqGrid ( "getGridParam" , "selrow" ) ; h [ c . p . treeGridModel == "adjacency" ? c . p . treeReader . parent _id _field : "parent_id" ] = L } for ( r in c . p . treeReader ) if ( c . p . treeReader . hasOwnProperty ( r ) ) { v =
c . p . treeReader [ r ] ; if ( h . hasOwnProperty ( v ) ) h [ D ] == p . addoper && r === "parent_id_field" || delete h [ v ] } } h [ E ] = a . jgrid . stripPref ( c . p . idPrefix , h [ E ] ) ; r = a . extend ( { url : d [ c . p . id ] . url ? d [ c . p . id ] . url : a ( c ) . jqGrid ( "getGridParam" , "editurl" ) , type : d [ c . p . id ] . mtype , data : a . isFunction ( d [ c . p . id ] . serializeEditData ) ? d [ c . p . id ] . serializeEditData ( h ) : h , complete : function ( F , T ) { h [ E ] = c . p . idPrefix + h [ E ] ; if ( T != "success" ) { k [ 0 ] = false ; k [ 1 ] = a . isFunction ( d [ c . p . id ] . errorTextFormat ) ? d [ c . p . id ] . errorTextFormat ( F ) : T + " Status: '" + F . statusText + "'. Error code: " +
F . status } else if ( a . isFunction ( d [ c . p . id ] . afterSubmit ) ) k = d [ c . p . id ] . afterSubmit ( F , h ) ; if ( k [ 0 ] === false ) { a ( "#FormError>td" , "#" + i ) . html ( k [ 1 ] ) ; a ( "#FormError" , "#" + i ) . show ( ) } else { a . each ( c . p . colModel , function ( ) { if ( O [ this . name ] && this . formatter && this . formatter == "select" ) try { delete O [ this . name ] } catch ( P ) { } } ) ; h = a . extend ( h , O ) ; c . p . autoencode && a . each ( h , function ( P , S ) { h [ P ] = a . jgrid . htmlDecode ( S ) } ) ; if ( h [ D ] == p . addoper ) { k [ 2 ] || ( k [ 2 ] = a . jgrid . randId ( ) ) ; h [ E ] = k [ 2 ] ; if ( d [ c . p . id ] . closeAfterAdd ) { if ( d [ c . p . id ] . reloadAfterSubmit ) a ( c ) . trigger ( "reloadGrid" ) ;
else if ( c . p . treeGrid === true ) a ( c ) . jqGrid ( "addChildNode" , k [ 2 ] , L , h ) ; else { a ( c ) . jqGrid ( "addRowData" , k [ 2 ] , h , b . addedrow ) ; a ( c ) . jqGrid ( "setSelection" , k [ 2 ] ) } a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) } else if ( d [ c . p . id ] . clearAfterAdd ) { if ( d [ c . p . id ] . reloadAfterSubmit ) a ( c ) . trigger ( "reloadGrid" ) ; else c . p . treeGrid === true ? a ( c ) . jqGrid ( "addChildNode" , k [ 2 ] , L , h ) : a ( c ) . jqGrid ( "addRowData" , k [ 2 ] , h , b . addedrow ) ; x ( "_empty" , c , o ) } else if ( d [ c . p . id ] . reloadAfterSubmit ) a ( c ) . trigger ( "reloadGrid" ) ;
else c . p . treeGrid === true ? a ( c ) . jqGrid ( "addChildNode" , k [ 2 ] , L , h ) : a ( c ) . jqGrid ( "addRowData" , k [ 2 ] , h , b . addedrow ) } else { if ( d [ c . p . id ] . reloadAfterSubmit ) { a ( c ) . trigger ( "reloadGrid" ) ; d [ c . p . id ] . closeAfterEdit || setTimeout ( function ( ) { a ( c ) . jqGrid ( "setSelection" , h [ E ] ) } , 1E3 ) } else c . p . treeGrid === true ? a ( c ) . jqGrid ( "setTreeRow" , h [ E ] , h ) : a ( c ) . jqGrid ( "setRowData" , h [ E ] , h ) ; d [ c . p . id ] . closeAfterEdit && a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) } if ( a . isFunction ( d [ c . p . id ] . afterComplete ) ) { g =
F ; setTimeout ( function ( ) { d [ c . p . id ] . afterComplete ( g , h , a ( "#" + o ) ) ; g = null } , 500 ) } if ( d [ c . p . id ] . checkOnSubmit || d [ c . p . id ] . checkOnUpdate ) { a ( "#" + o ) . data ( "disabled" , false ) ; if ( d [ c . p . id ] . _savedData [ c . p . id + "_id" ] != "_empty" ) for ( var I in d [ c . p . id ] . _savedData ) if ( h [ I ] ) d [ c . p . id ] . _savedData [ I ] = h [ I ] } } d [ c . p . id ] . processing = false ; a ( "#sData" , "#" + i + "_2" ) . removeClass ( "ui-state-active" ) ; try { a ( ":input:visible" , "#" + o ) [ 0 ] . focus ( ) } catch ( ca ) { } } } , a . jgrid . ajaxOptions , d [ c . p . id ] . ajaxEditOptions ) ; if ( ! r . url && ! d [ c . p . id ] . useDataProxy ) if ( a . isFunction ( c . p . dataProxy ) ) d [ c . p . id ] . useDataProxy =
true ; else { k [ 0 ] = false ; k [ 1 ] += " " + a . jgrid . errors . nourl } if ( k [ 0 ] ) if ( d [ c . p . id ] . useDataProxy ) { v = c . p . dataProxy . call ( c , r , "set_" + c . p . id ) ; if ( typeof v == "undefined" ) v = [ true , "" ] ; if ( v [ 0 ] === false ) { k [ 0 ] = false ; k [ 1 ] = v [ 1 ] || "Error deleting the selected row!" } else { r . data . oper == p . addoper && d [ c . p . id ] . closeAfterAdd && a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ; r . data . oper == p . editoper && d [ c . p . id ] . closeAfterEdit && a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) } } else a . ajax ( r ) } if ( k [ 0 ] ===
false ) { a ( "#FormError>td" , "#" + i ) . html ( k [ 1 ] ) ; a ( "#FormError" , "#" + i ) . show ( ) } } function w ( g , k ) { var v = false , p ; for ( p in g ) if ( g [ p ] != k [ p ] ) { v = true ; break } return v } function n ( ) { var g = true ; a ( "#FormError" , "#" + i ) . hide ( ) ; if ( d [ c . p . id ] . checkOnUpdate ) { h = { } ; O = { } ; e ( ) ; N = a . extend ( { } , h , O ) ; if ( U = w ( N , d [ c . p . id ] . _savedData ) ) { a ( "#" + o ) . data ( "disabled" , true ) ; a ( ".confirm" , "#" + m . themodal ) . show ( ) ; g = false } } return g } function j ( ) { if ( f !== "_empty" && typeof c . p . savedRow !== "undefined" && c . p . savedRow . length > 0 && a . isFunction ( a . fn . jqGrid . restoreRow ) ) for ( var g =
0 ; g < c . p . savedRow . length ; g ++ ) if ( c . p . savedRow [ g ] . id == f ) { a ( c ) . jqGrid ( "restoreRow" , f ) ; break } } function s ( g , k ) { g === 0 ? a ( "#pData" , "#" + i + "_2" ) . addClass ( "ui-state-disabled" ) : a ( "#pData" , "#" + i + "_2" ) . removeClass ( "ui-state-disabled" ) ; g == k ? a ( "#nData" , "#" + i + "_2" ) . addClass ( "ui-state-disabled" ) : a ( "#nData" , "#" + i + "_2" ) . removeClass ( "ui-state-disabled" ) } function M ( ) { var g = a ( c ) . jqGrid ( "getDataIDs" ) , k = a ( "#id_g" , "#" + i ) . val ( ) ; return [ a . inArray ( k , g ) , g ] } var c = this ; if ( c . grid && f ) { var t = c . p . id , o = "FrmGrid_" + t , i = "TblGrid_" + t , m = { themodal : "editmod" +
t , modalhead : "edithd" + t , modalcontent : "editcnt" + t , scrollelm : o } , H = a . isFunction ( d [ c . p . id ] . beforeShowForm ) ? d [ c . p . id ] . beforeShowForm : false , J = a . isFunction ( d [ c . p . id ] . afterShowForm ) ? d [ c . p . id ] . afterShowForm : false , u = a . isFunction ( d [ c . p . id ] . beforeInitData ) ? d [ c . p . id ] . beforeInitData : false , C = a . isFunction ( d [ c . p . id ] . onInitializeForm ) ? d [ c . p . id ] . onInitializeForm : false , A = true , l = 1 , y = 0 , h , O , N , U ; if ( f === "new" ) { f = "_empty" ; b . caption = d [ c . p . id ] . addCaption } else b . caption = d [ c . p . id ] . editCaption ; b . recreateForm === true && a ( "#" + m . themodal ) . html ( ) !==
null && a ( "#" + m . themodal ) . remove ( ) ; var Q = true ; if ( b . checkOnUpdate && b . jqModal && ! b . modal ) Q = false ; if ( a ( "#" + m . themodal ) . html ( ) !== null ) { if ( u ) { A = u ( a ( "#" + o ) ) ; if ( typeof A == "undefined" ) A = true } if ( A === false ) return ; j ( ) ; a ( ".ui-jqdialog-title" , "#" + m . modalhead ) . html ( b . caption ) ; a ( "#FormError" , "#" + i ) . hide ( ) ; if ( d [ c . p . id ] . topinfo ) { a ( ".topinfo" , "#" + i ) . html ( d [ c . p . id ] . topinfo ) ; a ( ".tinfo" , "#" + i ) . show ( ) } else a ( ".tinfo" , "#" + i ) . hide ( ) ; if ( d [ c . p . id ] . bottominfo ) { a ( ".bottominfo" , "#" + i + "_2" ) . html ( d [ c . p . id ] . bottominfo ) ; a ( ".binfo" ,
"#" + i + "_2" ) . show ( ) } else a ( ".binfo" , "#" + i + "_2" ) . hide ( ) ; x ( f , c , o ) ; f == "_empty" || ! d [ c . p . id ] . viewPagerButtons ? a ( "#pData, #nData" , "#" + i + "_2" ) . hide ( ) : a ( "#pData, #nData" , "#" + i + "_2" ) . show ( ) ; if ( d [ c . p . id ] . processing === true ) { d [ c . p . id ] . processing = false ; a ( "#sData" , "#" + i + "_2" ) . removeClass ( "ui-state-active" ) } if ( a ( "#" + o ) . data ( "disabled" ) === true ) { a ( ".confirm" , "#" + m . themodal ) . hide ( ) ; a ( "#" + o ) . data ( "disabled" , false ) } H && H ( a ( "#" + o ) ) ; a ( "#" + m . themodal ) . data ( "onClose" , d [ c . p . id ] . onClose ) ; a . jgrid . viewModal ( "#" + m . themodal , { gbox : "#gbox_" +
t , jqm : b . jqModal , jqM : false , overlay : b . overlay , modal : b . modal } ) ; Q || a ( ".jqmOverlay" ) . click ( function ( ) { if ( ! n ( ) ) return false ; a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ; return false } ) ; J && J ( a ( "#" + o ) ) } else { var K = isNaN ( b . dataheight ) ? b . dataheight : b . dataheight + "px" ; K = a ( "<form name='FormPost' id='" + o + "' class='FormGrid' onSubmit='return false;' style='width:100%;overflow:auto;position:relative;height:" + K + ";'></form>" ) . data ( "disabled" , false ) ; var V = a ( "<table id='" + i +
"' class='EditTable' cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>" ) ; if ( u ) { A = u ( a ( "#" + o ) ) ; if ( typeof A == "undefined" ) A = true } if ( A === false ) return ; j ( ) ; a ( c . p . colModel ) . each ( function ( ) { var g = this . formoptions ; l = Math . max ( l , g ? g . colpos || 0 : 0 ) ; y = Math . max ( y , g ? g . rowpos || 0 : 0 ) } ) ; a ( K ) . append ( V ) ; u = a ( "<tr id='FormError' style='display:none'><td class='ui-state-error' colspan='" + l * 2 + "'></td></tr>" ) ; u [ 0 ] . rp = 0 ; a ( V ) . append ( u ) ; u = a ( "<tr style='display:none' class='tinfo'><td class='topinfo' colspan='" +
l * 2 + "'>" + d [ c . p . id ] . topinfo + "</td></tr>" ) ; u [ 0 ] . rp = 0 ; a ( V ) . append ( u ) ; A = ( u = c . p . direction == "rtl" ? true : false ) ? "nData" : "pData" ; var W = u ? "pData" : "nData" ; q ( f , c , V , l ) ; A = "<a href='javascript:void(0)' id='" + A + "' class='fm-button ui-state-default ui-corner-left'><span class='ui-icon ui-icon-triangle-1-w'></span></a>" ; W = "<a href='javascript:void(0)' id='" + W + "' class='fm-button ui-state-default ui-corner-right'><span class='ui-icon ui-icon-triangle-1-e'></span></a>" ; var $ = "<a href='javascript:void(0)' id='sData' class='fm-button ui-state-default ui-corner-all'>" +
b . bSubmit + "</a>" , Z = "<a href='javascript:void(0)' id='cData' class='fm-button ui-state-default ui-corner-all'>" + b . bCancel + "</a>" ; A = "<table border='0' cellspacing='0' cellpadding='0' class='EditTable' id='" + i + "_2'><tbody><tr><td colspan='2'><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr id='Act_Buttons'><td class='navButton'>" + ( u ? W + A : A + W ) + "</td><td class='EditButton'>" + $ + Z + "</td></tr>" ; A += "<tr style='display:none' class='binfo'><td class='bottominfo' colspan='2'>" + d [ c . p . id ] . bottominfo +
"</td></tr>" ; A += "</tbody></table>" ; if ( y > 0 ) { var aa = [ ] ; a . each ( a ( V ) [ 0 ] . rows , function ( g , k ) { aa [ g ] = k } ) ; aa . sort ( function ( g , k ) { if ( g . rp > k . rp ) return 1 ; if ( g . rp < k . rp ) return - 1 ; return 0 } ) ; a . each ( aa , function ( g , k ) { a ( "tbody" , V ) . append ( k ) } ) } b . gbox = "#gbox_" + t ; var ba = false ; if ( b . closeOnEscape === true ) { b . closeOnEscape = false ; ba = true } K = a ( "<span></span>" ) . append ( K ) . append ( A ) ; a . jgrid . createModal ( m , K , b , "#gview_" + c . p . id , a ( "#gbox_" + c . p . id ) [ 0 ] ) ; if ( u ) { a ( "#pData, #nData" , "#" + i + "_2" ) . css ( "float" , "right" ) ; a ( ".EditButton" , "#" + i + "_2" ) . css ( "text-align" ,
"left" ) } d [ c . p . id ] . topinfo && a ( ".tinfo" , "#" + i ) . show ( ) ; d [ c . p . id ] . bottominfo && a ( ".binfo" , "#" + i + "_2" ) . show ( ) ; A = K = null ; a ( "#" + m . themodal ) . keydown ( function ( g ) { var k = g . target ; if ( a ( "#" + o ) . data ( "disabled" ) === true ) return false ; if ( d [ c . p . id ] . savekey [ 0 ] === true && g . which == d [ c . p . id ] . savekey [ 1 ] ) if ( k . tagName != "TEXTAREA" ) { a ( "#sData" , "#" + i + "_2" ) . trigger ( "click" ) ; return false } if ( g . which === 27 ) { if ( ! n ( ) ) return false ; ba && a . jgrid . hideModal ( this , { gb : b . gbox , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ; return false } if ( d [ c . p . id ] . navkeys [ 0 ] ===
true ) { if ( a ( "#id_g" , "#" + i ) . val ( ) == "_empty" ) return true ; if ( g . which == d [ c . p . id ] . navkeys [ 1 ] ) { a ( "#pData" , "#" + i + "_2" ) . trigger ( "click" ) ; return false } if ( g . which == d [ c . p . id ] . navkeys [ 2 ] ) { a ( "#nData" , "#" + i + "_2" ) . trigger ( "click" ) ; return false } } } ) ; if ( b . checkOnUpdate ) { a ( "a.ui-jqdialog-titlebar-close span" , "#" + m . themodal ) . removeClass ( "jqmClose" ) ; a ( "a.ui-jqdialog-titlebar-close" , "#" + m . themodal ) . unbind ( "click" ) . click ( function ( ) { if ( ! n ( ) ) return false ; a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ;
return false } ) } b . saveicon = a . extend ( [ true , "left" , "ui-icon-disk" ] , b . saveicon ) ; b . closeicon = a . extend ( [ true , "left" , "ui-icon-close" ] , b . closeicon ) ; if ( b . saveicon [ 0 ] === true ) a ( "#sData" , "#" + i + "_2" ) . addClass ( b . saveicon [ 1 ] == "right" ? "fm-button-icon-right" : "fm-button-icon-left" ) . append ( "<span class='ui-icon " + b . saveicon [ 2 ] + "'></span>" ) ; if ( b . closeicon [ 0 ] === true ) a ( "#cData" , "#" + i + "_2" ) . addClass ( b . closeicon [ 1 ] == "right" ? "fm-button-icon-right" : "fm-button-icon-left" ) . append ( "<span class='ui-icon " + b . closeicon [ 2 ] + "'></span>" ) ;
if ( d [ c . p . id ] . checkOnSubmit || d [ c . p . id ] . checkOnUpdate ) { $ = "<a href='javascript:void(0)' id='sNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>" + b . bYes + "</a>" ; W = "<a href='javascript:void(0)' id='nNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>" + b . bNo + "</a>" ; Z = "<a href='javascript:void(0)' id='cNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>" + b . bExit + "</a>" ; K = b . zIndex || 999 ; K ++ ; a ( "<div class='ui-widget-overlay jqgrid-overlay confirm' style='z-index:" +
K + ";display:none;'> " + ( a . browser . msie && a . browser . version == 6 ? '<iframe style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');" src="javascript:false;"></iframe>' : "" ) + "</div><div class='confirm ui-widget-content ui-jqconfirm' style='z-index:" + ( K + 1 ) + "'>" + b . saveData + "<br/><br/>" + $ + W + Z + "</div>" ) . insertAfter ( "#" + o ) ; a ( "#sNew" , "#" + m . themodal ) . click ( function ( ) { B ( ) ; a ( "#" + o ) . data ( "disabled" , false ) ; a ( ".confirm" , "#" + m . themodal ) . hide ( ) ; return false } ) ; a ( "#nNew" , "#" + m . themodal ) . click ( function ( ) { a ( ".confirm" ,
"#" + m . themodal ) . hide ( ) ; a ( "#" + o ) . data ( "disabled" , false ) ; setTimeout ( function ( ) { a ( ":input" , "#" + o ) [ 0 ] . focus ( ) } , 0 ) ; return false } ) ; a ( "#cNew" , "#" + m . themodal ) . click ( function ( ) { a ( ".confirm" , "#" + m . themodal ) . hide ( ) ; a ( "#" + o ) . data ( "disabled" , false ) ; a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ; return false } ) } C && C ( a ( "#" + o ) ) ; f == "_empty" || ! d [ c . p . id ] . viewPagerButtons ? a ( "#pData,#nData" , "#" + i + "_2" ) . hide ( ) : a ( "#pData,#nData" , "#" + i + "_2" ) . show ( ) ; H && H ( a ( "#" + o ) ) ; a ( "#" + m . themodal ) . data ( "onClose" ,
d [ c . p . id ] . onClose ) ; a . jgrid . viewModal ( "#" + m . themodal , { gbox : "#gbox_" + t , jqm : b . jqModal , overlay : b . overlay , modal : b . modal } ) ; Q || a ( ".jqmOverlay" ) . click ( function ( ) { if ( ! n ( ) ) return false ; a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ; return false } ) ; J && J ( a ( "#" + o ) ) ; a ( ".fm-button" , "#" + m . themodal ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; a ( "#sData" , "#" + i + "_2" ) . click ( function ( ) { h = { } ; O = { } ; a ( "#FormError" , "#" + i ) . hide ( ) ;
e ( ) ; if ( h [ c . p . id + "_id" ] == "_empty" ) B ( ) ; else if ( b . checkOnSubmit === true ) { N = a . extend ( { } , h , O ) ; if ( U = w ( N , d [ c . p . id ] . _savedData ) ) { a ( "#" + o ) . data ( "disabled" , true ) ; a ( ".confirm" , "#" + m . themodal ) . show ( ) } else B ( ) } else B ( ) ; return false } ) ; a ( "#cData" , "#" + i + "_2" ) . click ( function ( ) { if ( ! n ( ) ) return false ; a . jgrid . hideModal ( "#" + m . themodal , { gb : "#gbox_" + t , jqm : b . jqModal , onClose : d [ c . p . id ] . onClose } ) ; return false } ) ; a ( "#nData" , "#" + i + "_2" ) . click ( function ( ) { if ( ! n ( ) ) return false ; a ( "#FormError" , "#" + i ) . hide ( ) ; var g = M ( ) ; g [ 0 ] = parseInt ( g [ 0 ] ,
10 ) ; if ( g [ 0 ] != - 1 && g [ 1 ] [ g [ 0 ] + 1 ] ) { if ( a . isFunction ( b . onclickPgButtons ) ) b . onclickPgButtons ( "next" , a ( "#" + o ) , g [ 1 ] [ g [ 0 ] ] ) ; x ( g [ 1 ] [ g [ 0 ] + 1 ] , c , o ) ; a ( c ) . jqGrid ( "setSelection" , g [ 1 ] [ g [ 0 ] + 1 ] ) ; a . isFunction ( b . afterclickPgButtons ) && b . afterclickPgButtons ( "next" , a ( "#" + o ) , g [ 1 ] [ g [ 0 ] + 1 ] ) ; s ( g [ 0 ] + 1 , g [ 1 ] . length - 1 ) } return false } ) ; a ( "#pData" , "#" + i + "_2" ) . click ( function ( ) { if ( ! n ( ) ) return false ; a ( "#FormError" , "#" + i ) . hide ( ) ; var g = M ( ) ; if ( g [ 0 ] != - 1 && g [ 1 ] [ g [ 0 ] - 1 ] ) { if ( a . isFunction ( b . onclickPgButtons ) ) b . onclickPgButtons ( "prev" , a ( "#" + o ) ,
g [ 1 ] [ g [ 0 ] ] ) ; x ( g [ 1 ] [ g [ 0 ] - 1 ] , c , o ) ; a ( c ) . jqGrid ( "setSelection" , g [ 1 ] [ g [ 0 ] - 1 ] ) ; a . isFunction ( b . afterclickPgButtons ) && b . afterclickPgButtons ( "prev" , a ( "#" + o ) , g [ 1 ] [ g [ 0 ] - 1 ] ) ; s ( g [ 0 ] - 1 , g [ 1 ] . length - 1 ) } return false } ) } H = M ( ) ; s ( H [ 0 ] , H [ 1 ] . length - 1 ) } } ) } , viewGridRow : function ( f , b ) { b = a . extend ( { top : 0 , left : 0 , width : 0 , height : "auto" , dataheight : "auto" , modal : false , overlay : 30 , drag : true , resize : true , jqModal : true , closeOnEscape : false , labelswidth : "30%" , closeicon : [ ] , navkeys : [ false , 38 , 40 ] , onClose : null , beforeShowForm : null , beforeInitData : null ,
viewPagerButtons : true } , a . jgrid . view , b || { } ) ; return this . each ( function ( ) { function e ( ) { if ( b . closeOnEscape === true || b . navkeys [ 0 ] === true ) setTimeout ( function ( ) { a ( ".ui-jqdialog-titlebar-close" , "#" + M . modalhead ) . focus ( ) } , 0 ) } function q ( l , y , h , O ) { for ( var N , U , Q , K = 0 , V , W , $ = [ ] , Z = false , aa = "<td class='CaptionTD form-view-label ui-widget-content' width='" + b . labelswidth + "'> </td><td class='DataTD form-view-data ui-helper-reset ui-widget-content'> </td>" , ba = "" , g = [ "integer" , "number" , "currency" ] , k = 0 , v = 0 , p , E , D ,
z = 1 ; z <= O ; z ++ ) ba += z == 1 ? aa : "<td class='CaptionTD form-view-label ui-widget-content'> </td><td class='DataTD form-view-data ui-widget-content'> </td>" ; a ( y . p . colModel ) . each ( function ( ) { U = this . editrules && this . editrules . edithidden === true ? false : this . hidden === true ? true : false ; if ( ! U && this . align === "right" ) if ( this . formatter && a . inArray ( this . formatter , g ) !== - 1 ) k = Math . max ( k , parseInt ( this . width , 10 ) ) ; else v = Math . max ( v , parseInt ( this . width , 10 ) ) } ) ; p = k !== 0 ? k : v !== 0 ? v : 0 ; Z = a ( y ) . jqGrid ( "getInd" , l ) ; a ( y . p . colModel ) . each ( function ( L ) { N =
this . name ; E = false ; W = ( U = this . editrules && this . editrules . edithidden === true ? false : this . hidden === true ? true : false ) ? "style='display:none'" : "" ; D = typeof this . viewable != "boolean" ? true : this . viewable ; if ( N !== "cb" && N !== "subgrid" && N !== "rn" && D ) { V = Z === false ? "" : N == y . p . ExpandColumn && y . p . treeGrid === true ? a ( "td:eq(" + L + ")" , y . rows [ Z ] ) . text ( ) : a ( "td:eq(" + L + ")" , y . rows [ Z ] ) . html ( ) ; E = this . align === "right" && p !== 0 ? true : false ; a . extend ( { } , this . editoptions || { } , { id : N , name : N } ) ; var r = a . extend ( { } , { rowabove : false , rowcontent : "" } , this . formoptions ||
{ } ) , R = parseInt ( r . rowpos , 10 ) || K + 1 , F = parseInt ( ( parseInt ( r . colpos , 10 ) || 1 ) * 2 , 10 ) ; if ( r . rowabove ) { var T = a ( "<tr><td class='contentinfo' colspan='" + O * 2 + "'>" + r . rowcontent + "</td></tr>" ) ; a ( h ) . append ( T ) ; T [ 0 ] . rp = R } Q = a ( h ) . find ( "tr[rowpos=" + R + "]" ) ; if ( Q . length === 0 ) { Q = a ( "<tr " + W + " rowpos='" + R + "'></tr>" ) . addClass ( "FormData" ) . attr ( "id" , "trv_" + N ) ; a ( Q ) . append ( ba ) ; a ( h ) . append ( Q ) ; Q [ 0 ] . rp = R } a ( "td:eq(" + ( F - 2 ) + ")" , Q [ 0 ] ) . html ( "<b>" + ( typeof r . label === "undefined" ? y . p . colNames [ L ] : r . label ) + "</b>" ) ; a ( "td:eq(" + ( F - 1 ) + ")" , Q [ 0 ] ) . append ( "<span>" +
V + "</span>" ) . attr ( "id" , "v_" + N ) ; E && a ( "td:eq(" + ( F - 1 ) + ") span" , Q [ 0 ] ) . css ( { "text-align" : "right" , width : p + "px" } ) ; $ [ K ] = L ; K ++ } } ) ; if ( K > 0 ) { l = a ( "<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='" + ( O * 2 - 1 ) + "' class='DataTD'><input class='FormElement' id='id_g' type='text' name='id' value='" + l + "'/></td></tr>" ) ; l [ 0 ] . rp = K + 99 ; a ( h ) . append ( l ) } return $ } function x ( l , y ) { var h , O , N = 0 , U , Q ; if ( Q = a ( y ) . jqGrid ( "getInd" , l , true ) ) { a ( "td" , Q ) . each ( function ( K ) { h = y . p . colModel [ K ] . name ; O = y . p . colModel [ K ] . editrules &&
y . p . colModel [ K ] . editrules . edithidden === true ? false : y . p . colModel [ K ] . hidden === true ? true : false ; if ( h !== "cb" && h !== "subgrid" && h !== "rn" ) { U = h == y . p . ExpandColumn && y . p . treeGrid === true ? a ( this ) . text ( ) : a ( this ) . html ( ) ; a . extend ( { } , y . p . colModel [ K ] . editoptions || { } ) ; h = a . jgrid . jqID ( "v_" + h ) ; a ( "#" + h + " span" , "#" + s ) . html ( U ) ; O && a ( "#" + h , "#" + s ) . parents ( "tr:first" ) . hide ( ) ; N ++ } } ) ; N > 0 && a ( "#id_g" , "#" + s ) . val ( l ) } } function G ( l , y ) { l === 0 ? a ( "#pData" , "#" + s + "_2" ) . addClass ( "ui-state-disabled" ) : a ( "#pData" , "#" + s + "_2" ) . removeClass ( "ui-state-disabled" ) ;
l == y ? a ( "#nData" , "#" + s + "_2" ) . addClass ( "ui-state-disabled" ) : a ( "#nData" , "#" + s + "_2" ) . removeClass ( "ui-state-disabled" ) } function B ( ) { var l = a ( w ) . jqGrid ( "getDataIDs" ) , y = a ( "#id_g" , "#" + s ) . val ( ) ; return [ a . inArray ( y , l ) , l ] } var w = this ; if ( w . grid && f ) { var n = w . p . id , j = "ViewGrid_" + n , s = "ViewTbl_" + n , M = { themodal : "viewmod" + n , modalhead : "viewhd" + n , modalcontent : "viewcnt" + n , scrollelm : j } , c = a . isFunction ( b . beforeInitData ) ? b . beforeInitData : false , t = true , o = 1 , i = 0 ; if ( a ( "#" + M . themodal ) . html ( ) !== null ) { if ( c ) { t = c ( a ( "#" + j ) ) ; if ( typeof t ==
"undefined" ) t = true } if ( t === false ) return ; a ( ".ui-jqdialog-title" , "#" + M . modalhead ) . html ( b . caption ) ; a ( "#FormError" , "#" + s ) . hide ( ) ; x ( f , w ) ; a . isFunction ( b . beforeShowForm ) && b . beforeShowForm ( a ( "#" + j ) ) ; a . jgrid . viewModal ( "#" + M . themodal , { gbox : "#gbox_" + n , jqm : b . jqModal , jqM : false , overlay : b . overlay , modal : b . modal } ) ; e ( ) } else { var m = isNaN ( b . dataheight ) ? b . dataheight : b . dataheight + "px" ; m = a ( "<form name='FormPost' id='" + j + "' class='FormGrid' style='width:100%;overflow:auto;position:relative;height:" + m + ";'></form>" ) ; var H = a ( "<table id='" +
s + "' class='EditTable' cellspacing='1' cellpadding='2' border='0' style='table-layout:fixed'><tbody></tbody></table>" ) ; if ( c ) { t = c ( a ( "#" + j ) ) ; if ( typeof t == "undefined" ) t = true } if ( t === false ) return ; a ( w . p . colModel ) . each ( function ( ) { var l = this . formoptions ; o = Math . max ( o , l ? l . colpos || 0 : 0 ) ; i = Math . max ( i , l ? l . rowpos || 0 : 0 ) } ) ; a ( m ) . append ( H ) ; q ( f , w , H , o ) ; c = w . p . direction == "rtl" ? true : false ; t = "<a href='javascript:void(0)' id='" + ( c ? "nData" : "pData" ) + "' class='fm-button ui-state-default ui-corner-left'><span class='ui-icon ui-icon-triangle-1-w'></span></a>" ;
var J = "<a href='javascript:void(0)' id='" + ( c ? "pData" : "nData" ) + "' class='fm-button ui-state-default ui-corner-right'><span class='ui-icon ui-icon-triangle-1-e'></span></a>" , u = "<a href='javascript:void(0)' id='cData' class='fm-button ui-state-default ui-corner-all'>" + b . bClose + "</a>" ; if ( i > 0 ) { var C = [ ] ; a . each ( a ( H ) [ 0 ] . rows , function ( l , y ) { C [ l ] = y } ) ; C . sort ( function ( l , y ) { if ( l . rp > y . rp ) return 1 ; if ( l . rp < y . rp ) return - 1 ; return 0 } ) ; a . each ( C , function ( l , y ) { a ( "tbody" , H ) . append ( y ) } ) } b . gbox = "#gbox_" + n ; var A = false ; if ( b . closeOnEscape ===
true ) { b . closeOnEscape = false ; A = true } m = a ( "<span></span>" ) . append ( m ) . append ( "<table border='0' class='EditTable' id='" + s + "_2'><tbody><tr id='Act_Buttons'><td class='navButton' width='" + b . labelswidth + "'>" + ( c ? J + t : t + J ) + "</td><td class='EditButton'>" + u + "</td></tr></tbody></table>" ) ; a . jgrid . createModal ( M , m , b , "#gview_" + w . p . id , a ( "#gview_" + w . p . id ) [ 0 ] ) ; if ( c ) { a ( "#pData, #nData" , "#" + s + "_2" ) . css ( "float" , "right" ) ; a ( ".EditButton" , "#" + s + "_2" ) . css ( "text-align" , "left" ) } b . viewPagerButtons || a ( "#pData, #nData" , "#" + s + "_2" ) . hide ( ) ;
m = null ; a ( "#" + M . themodal ) . keydown ( function ( l ) { if ( l . which === 27 ) { A && a . jgrid . hideModal ( this , { gb : b . gbox , jqm : b . jqModal , onClose : b . onClose } ) ; return false } if ( b . navkeys [ 0 ] === true ) { if ( l . which === b . navkeys [ 1 ] ) { a ( "#pData" , "#" + s + "_2" ) . trigger ( "click" ) ; return false } if ( l . which === b . navkeys [ 2 ] ) { a ( "#nData" , "#" + s + "_2" ) . trigger ( "click" ) ; return false } } } ) ; b . closeicon = a . extend ( [ true , "left" , "ui-icon-close" ] , b . closeicon ) ; if ( b . closeicon [ 0 ] === true ) a ( "#cData" , "#" + s + "_2" ) . addClass ( b . closeicon [ 1 ] == "right" ? "fm-button-icon-right" :
"fm-button-icon-left" ) . append ( "<span class='ui-icon " + b . closeicon [ 2 ] + "'></span>" ) ; a . isFunction ( b . beforeShowForm ) && b . beforeShowForm ( a ( "#" + j ) ) ; a . jgrid . viewModal ( "#" + M . themodal , { gbox : "#gbox_" + n , jqm : b . jqModal , modal : b . modal } ) ; a ( ".fm-button:not(.ui-state-disabled)" , "#" + s + "_2" ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; e ( ) ; a ( "#cData" , "#" + s + "_2" ) . click ( function ( ) { a . jgrid . hideModal ( "#" + M . themodal , { gb : "#gbox_" + n , jqm : b . jqModal , onClose : b . onClose } ) ;
return false } ) ; a ( "#nData" , "#" + s + "_2" ) . click ( function ( ) { a ( "#FormError" , "#" + s ) . hide ( ) ; var l = B ( ) ; l [ 0 ] = parseInt ( l [ 0 ] , 10 ) ; if ( l [ 0 ] != - 1 && l [ 1 ] [ l [ 0 ] + 1 ] ) { if ( a . isFunction ( b . onclickPgButtons ) ) b . onclickPgButtons ( "next" , a ( "#" + j ) , l [ 1 ] [ l [ 0 ] ] ) ; x ( l [ 1 ] [ l [ 0 ] + 1 ] , w ) ; a ( w ) . jqGrid ( "setSelection" , l [ 1 ] [ l [ 0 ] + 1 ] ) ; a . isFunction ( b . afterclickPgButtons ) && b . afterclickPgButtons ( "next" , a ( "#" + j ) , l [ 1 ] [ l [ 0 ] + 1 ] ) ; G ( l [ 0 ] + 1 , l [ 1 ] . length - 1 ) } e ( ) ; return false } ) ; a ( "#pData" , "#" + s + "_2" ) . click ( function ( ) { a ( "#FormError" , "#" + s ) . hide ( ) ; var l = B ( ) ; if ( l [ 0 ] !=
- 1 && l [ 1 ] [ l [ 0 ] - 1 ] ) { if ( a . isFunction ( b . onclickPgButtons ) ) b . onclickPgButtons ( "prev" , a ( "#" + j ) , l [ 1 ] [ l [ 0 ] ] ) ; x ( l [ 1 ] [ l [ 0 ] - 1 ] , w ) ; a ( w ) . jqGrid ( "setSelection" , l [ 1 ] [ l [ 0 ] - 1 ] ) ; a . isFunction ( b . afterclickPgButtons ) && b . afterclickPgButtons ( "prev" , a ( "#" + j ) , l [ 1 ] [ l [ 0 ] - 1 ] ) ; G ( l [ 0 ] - 1 , l [ 1 ] . length - 1 ) } e ( ) ; return false } ) } m = B ( ) ; G ( m [ 0 ] , m [ 1 ] . length - 1 ) } } ) } , delGridRow : function ( f , b ) { b = a . extend ( { top : 0 , left : 0 , width : 240 , height : "auto" , dataheight : "auto" , modal : false , overlay : 30 , drag : true , resize : true , url : "" , mtype : "POST" , reloadAfterSubmit : true ,
beforeShowForm : null , beforeInitData : null , afterShowForm : null , beforeSubmit : null , onclickSubmit : null , afterSubmit : null , jqModal : true , closeOnEscape : false , delData : { } , delicon : [ ] , cancelicon : [ ] , onClose : null , ajaxDelOptions : { } , processing : false , serializeDelData : null , useDataProxy : false } , a . jgrid . del , b || { } ) ; d [ a ( this ) [ 0 ] . p . id ] = b ; return this . each ( function ( ) { var e = this ; if ( e . grid ) if ( f ) { var q = a . isFunction ( d [ e . p . id ] . beforeShowForm ) , x = a . isFunction ( d [ e . p . id ] . afterShowForm ) , G = a . isFunction ( d [ e . p . id ] . beforeInitData ) ? d [ e . p . id ] . beforeInitData :
false , B = e . p . id , w = { } , n = true , j = "DelTbl_" + B , s , M , c , t , o = { themodal : "delmod" + B , modalhead : "delhd" + B , modalcontent : "delcnt" + B , scrollelm : j } ; if ( jQuery . isArray ( f ) ) f = f . join ( ) ; if ( a ( "#" + o . themodal ) . html ( ) !== null ) { if ( G ) { n = G ( a ( "#" + j ) ) ; if ( typeof n == "undefined" ) n = true } if ( n === false ) return ; a ( "#DelData>td" , "#" + j ) . text ( f ) ; a ( "#DelError" , "#" + j ) . hide ( ) ; if ( d [ e . p . id ] . processing === true ) { d [ e . p . id ] . processing = false ; a ( "#dData" , "#" + j ) . removeClass ( "ui-state-active" ) } q && d [ e . p . id ] . beforeShowForm ( a ( "#" + j ) ) ; a . jgrid . viewModal ( "#" + o . themodal ,
{ gbox : "#gbox_" + B , jqm : d [ e . p . id ] . jqModal , jqM : false , overlay : d [ e . p . id ] . overlay , modal : d [ e . p . id ] . modal } ) } else { var i = isNaN ( d [ e . p . id ] . dataheight ) ? d [ e . p . id ] . dataheight : d [ e . p . id ] . dataheight + "px" ; i = "<div id='" + j + "' class='formdata' style='width:100%;overflow:auto;position:relative;height:" + i + ";'>" ; i += "<table class='DelTable'><tbody>" ; i += "<tr id='DelError' style='display:none'><td class='ui-state-error'></td></tr>" ; i += "<tr id='DelData' style='display:none'><td >" + f + "</td></tr>" ; i += '<tr><td class="delmsg" style="white-space:pre;">' +
d [ e . p . id ] . msg + "</td></tr><tr><td > </td></tr>" ; i += "</tbody></table></div>" ; i += "<table cellspacing='0' cellpadding='0' border='0' class='EditTable' id='" + j + "_2'><tbody><tr><td><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr><td class='DelButton EditButton'>" + ( "<a href='javascript:void(0)' id='dData' class='fm-button ui-state-default ui-corner-all'>" + b . bSubmit + "</a>" ) + " " + ( "<a href='javascript:void(0)' id='eData' class='fm-button ui-state-default ui-corner-all'>" + b . bCancel +
"</a>" ) + "</td></tr></tbody></table>" ; b . gbox = "#gbox_" + B ; a . jgrid . createModal ( o , i , b , "#gview_" + e . p . id , a ( "#gview_" + e . p . id ) [ 0 ] ) ; if ( G ) { n = G ( a ( "#" + j ) ) ; if ( typeof n == "undefined" ) n = true } if ( n === false ) return ; a ( ".fm-button" , "#" + j + "_2" ) . hover ( function ( ) { a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; b . delicon = a . extend ( [ true , "left" , "ui-icon-scissors" ] , d [ e . p . id ] . delicon ) ; b . cancelicon = a . extend ( [ true , "left" , "ui-icon-cancel" ] , d [ e . p . id ] . cancelicon ) ; if ( b . delicon [ 0 ] === true ) a ( "#dData" ,
"#" + j + "_2" ) . addClass ( b . delicon [ 1 ] == "right" ? "fm-button-icon-right" : "fm-button-icon-left" ) . append ( "<span class='ui-icon " + b . delicon [ 2 ] + "'></span>" ) ; if ( b . cancelicon [ 0 ] === true ) a ( "#eData" , "#" + j + "_2" ) . addClass ( b . cancelicon [ 1 ] == "right" ? "fm-button-icon-right" : "fm-button-icon-left" ) . append ( "<span class='ui-icon " + b . cancelicon [ 2 ] + "'></span>" ) ; a ( "#dData" , "#" + j + "_2" ) . click ( function ( ) { var m = [ true , "" ] ; w = { } ; var H = a ( "#DelData>td" , "#" + j ) . text ( ) ; if ( a . isFunction ( d [ e . p . id ] . onclickSubmit ) ) w = d [ e . p . id ] . onclickSubmit ( d [ e . p . id ] ,
H ) || { } ; if ( a . isFunction ( d [ e . p . id ] . beforeSubmit ) ) m = d [ e . p . id ] . beforeSubmit ( H ) ; if ( m [ 0 ] && ! d [ e . p . id ] . processing ) { d [ e . p . id ] . processing = true ; a ( this ) . addClass ( "ui-state-active" ) ; c = e . p . prmNames ; s = a . extend ( { } , d [ e . p . id ] . delData , w ) ; t = c . oper ; s [ t ] = c . deloper ; M = c . id ; H = H . split ( "," ) ; for ( var J in H ) if ( H . hasOwnProperty ( J ) ) H [ J ] = a . jgrid . stripPref ( e . p . idPrefix , H [ J ] ) ; s [ M ] = H . join ( ) ; J = a . extend ( { url : d [ e . p . id ] . url ? d [ e . p . id ] . url : a ( e ) . jqGrid ( "getGridParam" , "editurl" ) , type : d [ e . p . id ] . mtype , data : a . isFunction ( d [ e . p . id ] . serializeDelData ) ?
d [ e . p . id ] . serializeDelData ( s ) : s , complete : function ( u , C ) { if ( C != "success" ) { m [ 0 ] = false ; m [ 1 ] = a . isFunction ( d [ e . p . id ] . errorTextFormat ) ? d [ e . p . id ] . errorTextFormat ( u ) : C + " Status: '" + u . statusText + "'. Error code: " + u . status } else if ( a . isFunction ( d [ e . p . id ] . afterSubmit ) ) m = d [ e . p . id ] . afterSubmit ( u , s ) ; if ( m [ 0 ] === false ) { a ( "#DelError>td" , "#" + j ) . html ( m [ 1 ] ) ; a ( "#DelError" , "#" + j ) . show ( ) } else { if ( d [ e . p . id ] . reloadAfterSubmit && e . p . datatype != "local" ) a ( e ) . trigger ( "reloadGrid" ) ; else { var A = [ ] ; A = H . split ( "," ) ; if ( e . p . treeGrid === true ) try { a ( e ) . jqGrid ( "delTreeNode" ,
e . p . idPrefix + A [ 0 ] ) } catch ( l ) { } else for ( var y = 0 ; y < A . length ; y ++ ) a ( e ) . jqGrid ( "delRowData" , e . p . idPrefix + A [ y ] ) ; e . p . selrow = null ; e . p . selarrrow = [ ] } a . isFunction ( d [ e . p . id ] . afterComplete ) && setTimeout ( function ( ) { d [ e . p . id ] . afterComplete ( u , H ) } , 500 ) } d [ e . p . id ] . processing = false ; a ( "#dData" , "#" + j + "_2" ) . removeClass ( "ui-state-active" ) ; m [ 0 ] && a . jgrid . hideModal ( "#" + o . themodal , { gb : "#gbox_" + B , jqm : b . jqModal , onClose : d [ e . p . id ] . onClose } ) } } , a . jgrid . ajaxOptions , d [ e . p . id ] . ajaxDelOptions ) ; if ( ! J . url && ! d [ e . p . id ] . useDataProxy ) if ( a . isFunction ( e . p . dataProxy ) ) d [ e . p . id ] . useDataProxy =
true ; else { m [ 0 ] = false ; m [ 1 ] += " " + a . jgrid . errors . nourl } if ( m [ 0 ] ) if ( d [ e . p . id ] . useDataProxy ) { J = e . p . dataProxy . call ( e , J , "del_" + e . p . id ) ; if ( typeof J == "undefined" ) J = [ true , "" ] ; if ( J [ 0 ] === false ) { m [ 0 ] = false ; m [ 1 ] = J [ 1 ] || "Error deleting the selected row!" } else a . jgrid . hideModal ( "#" + o . themodal , { gb : "#gbox_" + B , jqm : b . jqModal , onClose : d [ e . p . id ] . onClose } ) } else a . ajax ( J ) } if ( m [ 0 ] === false ) { a ( "#DelError>td" , "#" + j ) . html ( m [ 1 ] ) ; a ( "#DelError" , "#" + j ) . show ( ) } return false } ) ; a ( "#eData" , "#" + j + "_2" ) . click ( function ( ) { a . jgrid . hideModal ( "#" +
o . themodal , { gb : "#gbox_" + B , jqm : d [ e . p . id ] . jqModal , onClose : d [ e . p . id ] . onClose } ) ; return false } ) ; q && d [ e . p . id ] . beforeShowForm ( a ( "#" + j ) ) ; a . jgrid . viewModal ( "#" + o . themodal , { gbox : "#gbox_" + B , jqm : d [ e . p . id ] . jqModal , overlay : d [ e . p . id ] . overlay , modal : d [ e . p . id ] . modal } ) } x && d [ e . p . id ] . afterShowForm ( a ( "#" + j ) ) ; d [ e . p . id ] . closeOnEscape === true && setTimeout ( function ( ) { a ( ".ui-jqdialog-titlebar-close" , "#" + o . modalhead ) . focus ( ) } , 0 ) } } ) } , navGrid : function ( f , b , e , q , x , G , B ) { b = a . extend ( { edit : true , editicon : "ui-icon-pencil" , add : true , addicon : "ui-icon-plus" ,
del : true , delicon : "ui-icon-trash" , search : true , searchicon : "ui-icon-search" , refresh : true , refreshicon : "ui-icon-refresh" , refreshstate : "firstpage" , view : false , viewicon : "ui-icon-document" , position : "left" , closeOnEscape : true , beforeRefresh : null , afterRefresh : null , cloneToTop : false , alertwidth : 200 , alertheight : "auto" , alerttop : null , alertleft : null , alertzIndex : null } , a . jgrid . nav , b || { } ) ; return this . each ( function ( ) { if ( ! this . nav ) { var w = { themodal : "alertmod" , modalhead : "alerthd" , modalcontent : "alertcnt" } , n = this , j ; if ( ! ( ! n . grid ||
typeof f != "string" ) ) { if ( a ( "#" + w . themodal ) . html ( ) === null ) { if ( ! b . alerttop && ! b . alertleft ) { if ( typeof window . innerWidth != "undefined" ) { b . alertleft = window . innerWidth ; b . alerttop = window . innerHeight } else if ( typeof document . documentElement != "undefined" && typeof document . documentElement . clientWidth != "undefined" && document . documentElement . clientWidth !== 0 ) { b . alertleft = document . documentElement . clientWidth ; b . alerttop = document . documentElement . clientHeight } else { b . alertleft = 1024 ; b . alerttop = 768 } b . alertleft = b . alertleft /
2 - parseInt ( b . alertwidth , 10 ) / 2 ; b . alerttop = b . alerttop / 2 - 25 } a . jgrid . createModal ( w , "<div>" + b . alerttext + "</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>" , { gbox : "#gbox_" + n . p . id , jqModal : true , drag : true , resize : true , caption : b . alertcap , top : b . alerttop , left : b . alertleft , width : b . alertwidth , height : b . alertheight , closeOnEscape : b . closeOnEscape , zIndex : b . alertzIndex } , "" , "" , true ) } var s = 1 ; if ( b . cloneToTop && n . p . toppager ) s = 2 ; for ( var M = 0 ; M < s ; M ++ ) { var c = a ( "<table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table navtable' style='float:left;table-layout:auto;'><tbody><tr></tr></tbody></table>" ) ,
t , o ; if ( M === 0 ) { t = f ; o = n . p . id ; if ( t == n . p . toppager ) { o += "_top" ; s = 1 } } else { t = n . p . toppager ; o = n . p . id + "_top" } n . p . direction == "rtl" && a ( c ) . attr ( "dir" , "rtl" ) . css ( "float" , "right" ) ; if ( b . add ) { q = q || { } ; j = a ( "<td class='ui-pg-button ui-corner-all'></td>" ) ; a ( j ) . append ( "<div class='ui-pg-div'><span class='ui-icon " + b . addicon + "'></span>" + b . addtext + "</div>" ) ; a ( "tr" , c ) . append ( j ) ; a ( j , c ) . attr ( { title : b . addtitle || "" , id : q . id || "add_" + o } ) . click ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || ( a . isFunction ( b . addfunc ) ? b . addfunc ( ) :
a ( n ) . jqGrid ( "editGridRow" , "new" , q ) ) ; return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; j = null } if ( b . edit ) { j = a ( "<td class='ui-pg-button ui-corner-all'></td>" ) ; e = e || { } ; a ( j ) . append ( "<div class='ui-pg-div'><span class='ui-icon " + b . editicon + "'></span>" + b . edittext + "</div>" ) ; a ( "tr" , c ) . append ( j ) ; a ( j , c ) . attr ( { title : b . edittitle || "" , id : e . id || "edit_" + o } ) . click ( function ( ) { if ( ! a ( this ) . hasClass ( "ui-state-disabled" ) ) { var i =
n . p . selrow ; if ( i ) a . isFunction ( b . editfunc ) ? b . editfunc ( i ) : a ( n ) . jqGrid ( "editGridRow" , i , e ) ; else { a . jgrid . viewModal ( "#" + w . themodal , { gbox : "#gbox_" + n . p . id , jqm : true } ) ; a ( "#jqg_alrt" ) . focus ( ) } } return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; j = null } if ( b . view ) { j = a ( "<td class='ui-pg-button ui-corner-all'></td>" ) ; B = B || { } ; a ( j ) . append ( "<div class='ui-pg-div'><span class='ui-icon " + b . viewicon + "'></span>" + b . viewtext +
"</div>" ) ; a ( "tr" , c ) . append ( j ) ; a ( j , c ) . attr ( { title : b . viewtitle || "" , id : B . id || "view_" + o } ) . click ( function ( ) { if ( ! a ( this ) . hasClass ( "ui-state-disabled" ) ) { var i = n . p . selrow ; if ( i ) a . isFunction ( b . viewfunc ) ? b . viewfunc ( i ) : a ( n ) . jqGrid ( "viewGridRow" , i , B ) ; else { a . jgrid . viewModal ( "#" + w . themodal , { gbox : "#gbox_" + n . p . id , jqm : true } ) ; a ( "#jqg_alrt" ) . focus ( ) } } return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; j = null } if ( b . del ) { j =
a ( "<td class='ui-pg-button ui-corner-all'></td>" ) ; x = x || { } ; a ( j ) . append ( "<div class='ui-pg-div'><span class='ui-icon " + b . delicon + "'></span>" + b . deltext + "</div>" ) ; a ( "tr" , c ) . append ( j ) ; a ( j , c ) . attr ( { title : b . deltitle || "" , id : x . id || "del_" + o } ) . click ( function ( ) { if ( ! a ( this ) . hasClass ( "ui-state-disabled" ) ) { var i ; if ( n . p . multiselect ) { i = n . p . selarrrow ; if ( i . length === 0 ) i = null } else i = n . p . selrow ; if ( i ) "function" == typeof b . delfunc ? b . delfunc ( i ) : a ( n ) . jqGrid ( "delGridRow" , i , x ) ; else { a . jgrid . viewModal ( "#" + w . themodal , { gbox : "#gbox_" +
n . p . id , jqm : true } ) ; a ( "#jqg_alrt" ) . focus ( ) } } return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; j = null } if ( b . add || b . edit || b . del || b . view ) a ( "tr" , c ) . append ( "<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>" ) ; if ( b . search ) { j = a ( "<td class='ui-pg-button ui-corner-all'></td>" ) ; G = G || { } ; a ( j ) . append ( "<div class='ui-pg-div'><span class='ui-icon " + b . searchicon +
"'></span>" + b . searchtext + "</div>" ) ; a ( "tr" , c ) . append ( j ) ; a ( j , c ) . attr ( { title : b . searchtitle || "" , id : G . id || "search_" + o } ) . click ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( n ) . jqGrid ( "searchGrid" , G ) ; return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; G . showOnLoad && G . showOnLoad === true && a ( j , c ) . click ( ) ; j = null } if ( b . refresh ) { j = a ( "<td class='ui-pg-button ui-corner-all'></td>" ) ; a ( j ) . append ( "<div class='ui-pg-div'><span class='ui-icon " +
b . refreshicon + "'></span>" + b . refreshtext + "</div>" ) ; a ( "tr" , c ) . append ( j ) ; a ( j , c ) . attr ( { title : b . refreshtitle || "" , id : "refresh_" + o } ) . click ( function ( ) { if ( ! a ( this ) . hasClass ( "ui-state-disabled" ) ) { a . isFunction ( b . beforeRefresh ) && b . beforeRefresh ( ) ; n . p . search = false ; try { var i = n . p . id ; n . p . postData . filters = "" ; a ( "#fbox_" + i ) . jqFilter ( "resetFilter" ) ; a . isFunction ( n . clearToolbar ) && n . clearToolbar ( false ) } catch ( m ) { } switch ( b . refreshstate ) { case "firstpage" : a ( n ) . trigger ( "reloadGrid" , [ { page : 1 } ] ) ; break ; case "current" : a ( n ) . trigger ( "reloadGrid" ,
[ { current : true } ] ) } a . isFunction ( b . afterRefresh ) && b . afterRefresh ( ) } return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) ; j = null } j = a ( ".ui-jqgrid" ) . css ( "font-size" ) || "11px" ; a ( "body" ) . append ( "<div id='testpg2' class='ui-jqgrid ui-widget ui-widget-content' style='font-size:" + j + ";visibility:hidden;' ></div>" ) ; j = a ( c ) . clone ( ) . appendTo ( "#testpg2" ) . width ( ) ; a ( "#testpg2" ) . remove ( ) ; a ( t + "_" + b . position , t ) . append ( c ) ;
if ( n . p . _nvtd ) { if ( j > n . p . _nvtd [ 0 ] ) { a ( t + "_" + b . position , t ) . width ( j ) ; n . p . _nvtd [ 0 ] = j } n . p . _nvtd [ 1 ] = j } c = j = j = null ; this . nav = true } } } } ) } , navButtonAdd : function ( f , b ) { b = a . extend ( { caption : "newButton" , title : "" , buttonicon : "ui-icon-newwin" , onClickButton : null , position : "last" , cursor : "pointer" } , b || { } ) ; return this . each ( function ( ) { if ( this . grid ) { if ( f . indexOf ( "#" ) !== 0 ) f = "#" + f ; var e = a ( ".navtable" , f ) [ 0 ] , q = this ; if ( e ) if ( ! ( b . id && a ( "#" + b . id , e ) . html ( ) !== null ) ) { var x = a ( "<td></td>" ) ; b . buttonicon . toString ( ) . toUpperCase ( ) == "NONE" ? a ( x ) . addClass ( "ui-pg-button ui-corner-all" ) . append ( "<div class='ui-pg-div'>" +
b . caption + "</div>" ) : a ( x ) . addClass ( "ui-pg-button ui-corner-all" ) . append ( "<div class='ui-pg-div'><span class='ui-icon " + b . buttonicon + "'></span>" + b . caption + "</div>" ) ; b . id && a ( x ) . attr ( "id" , b . id ) ; if ( b . position == "first" ) e . rows [ 0 ] . cells . length === 0 ? a ( "tr" , e ) . append ( x ) : a ( "tr td:eq(0)" , e ) . before ( x ) ; else a ( "tr" , e ) . append ( x ) ; a ( x , e ) . attr ( "title" , b . title || "" ) . click ( function ( G ) { a ( this ) . hasClass ( "ui-state-disabled" ) || a . isFunction ( b . onClickButton ) && b . onClickButton . call ( q , G ) ; return false } ) . hover ( function ( ) { a ( this ) . hasClass ( "ui-state-disabled" ) ||
a ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { a ( this ) . removeClass ( "ui-state-hover" ) } ) } } } ) } , navSeparatorAdd : function ( f , b ) { b = a . extend ( { sepclass : "ui-separator" , sepcontent : "" } , b || { } ) ; return this . each ( function ( ) { if ( this . grid ) { if ( f . indexOf ( "#" ) !== 0 ) f = "#" + f ; var e = a ( ".navtable" , f ) [ 0 ] ; if ( e ) { var q = "<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='" + b . sepclass + "'></span>" + b . sepcontent + "</td>" ; a ( "tr" , e ) . append ( q ) } } } ) } , GridToForm : function ( f , b ) { return this . each ( function ( ) { var e = this ;
if ( e . grid ) { var q = a ( e ) . jqGrid ( "getRowData" , f ) ; if ( q ) for ( var x in q ) a ( "[name=" + a . jgrid . jqID ( x ) + "]" , b ) . is ( "input:radio" ) || a ( "[name=" + a . jgrid . jqID ( x ) + "]" , b ) . is ( "input:checkbox" ) ? a ( "[name=" + a . jgrid . jqID ( x ) + "]" , b ) . each ( function ( ) { if ( a ( this ) . val ( ) == q [ x ] ) a ( this ) [ e . p . useProp ? "prop" : "attr" ] ( "checked" , true ) ; else a ( this ) [ e . p . useProp ? "prop" : "attr" ] ( "checked" , false ) } ) : a ( "[name=" + a . jgrid . jqID ( x ) + "]" , b ) . val ( q [ x ] ) } } ) } , FormToGrid : function ( f , b , e , q ) { return this . each ( function ( ) { if ( this . grid ) { e || ( e = "set" ) ; q || ( q = "first" ) ;
var x = a ( b ) . serializeArray ( ) , G = { } ; a . each ( x , function ( B , w ) { G [ w . name ] = w . value } ) ; if ( e == "add" ) a ( this ) . jqGrid ( "addRowData" , f , G , q ) ; else e == "set" && a ( this ) . jqGrid ( "setRowData" , f , G ) } } ) } } ) } ) ( jQuery ) ;
( function ( c ) { c . fn . jqFilter = function ( k ) { if ( typeof k === "string" ) { var w = c . fn . jqFilter [ k ] ; if ( ! w ) throw "jqFilter - No such method: " + k ; var B = c . makeArray ( arguments ) . slice ( 1 ) ; return w . apply ( this , B ) } var o = c . extend ( true , { filter : null , columns : [ ] , onChange : null , afterRedraw : null , checkValues : null , error : false , errmsg : "" , errorcheck : true , showQuery : true , sopt : null , ops : [ { name : "eq" , description : "equal" , operator : "=" } , { name : "ne" , description : "not equal" , operator : "<>" } , { name : "lt" , description : "less" , operator : "<" } , { name : "le" , description : "less or equal" ,
operator : "<=" } , { name : "gt" , description : "greater" , operator : ">" } , { name : "ge" , description : "greater or equal" , operator : ">=" } , { name : "bw" , description : "begins with" , operator : "LIKE" } , { name : "bn" , description : "does not begin with" , operator : "NOT LIKE" } , { name : "in" , description : "in" , operator : "IN" } , { name : "ni" , description : "not in" , operator : "NOT IN" } , { name : "ew" , description : "ends with" , operator : "LIKE" } , { name : "en" , description : "does not end with" , operator : "NOT LIKE" } , { name : "cn" , description : "contains" , operator : "LIKE" } , { name : "nc" ,
description : "does not contain" , operator : "NOT LIKE" } , { name : "nu" , description : "is null" , operator : "IS NULL" } , { name : "nn" , description : "is not null" , operator : "IS NOT NULL" } ] , numopts : [ "eq" , "ne" , "lt" , "le" , "gt" , "ge" , "nu" , "nn" , "in" , "ni" ] , stropts : [ "eq" , "ne" , "bw" , "bn" , "ew" , "en" , "cn" , "nc" , "nu" , "nn" , "in" , "ni" ] , _gridsopt : [ ] , groupOps : [ { op : "AND" , text : "AND" } , { op : "OR" , text : "OR" } ] , groupButton : true , ruleButtons : true , direction : "ltr" } , k || { } ) ; return this . each ( function ( ) { if ( ! this . filter ) { this . p = o ; if ( this . p . filter === null || this . p . filter ===
undefined ) this . p . filter = { groupOp : this . p . groupOps [ 0 ] . op , rules : [ ] , groups : [ ] } ; var q , x = this . p . columns . length , j , y = /msie/i . test ( navigator . userAgent ) && ! window . opera ; if ( this . p . _gridsopt . length ) for ( q = 0 ; q < this . p . _gridsopt . length ; q ++ ) this . p . ops [ q ] . description = this . p . _gridsopt [ q ] ; this . p . initFilter = c . extend ( true , { } , this . p . filter ) ; if ( x ) { for ( q = 0 ; q < x ; q ++ ) { j = this . p . columns [ q ] ; if ( j . stype ) j . inputtype = j . stype ; else if ( ! j . inputtype ) j . inputtype = "text" ; if ( j . sorttype ) j . searchtype = j . sorttype ; else if ( ! j . searchtype ) j . searchtype =
"string" ; if ( j . hidden === undefined ) j . hidden = false ; if ( ! j . label ) j . label = j . name ; if ( j . index ) j . name = j . index ; if ( ! j . hasOwnProperty ( "searchoptions" ) ) j . searchoptions = { } ; if ( ! j . hasOwnProperty ( "searchrules" ) ) j . searchrules = { } } this . p . showQuery && c ( this ) . append ( "<table class='queryresult ui-widget ui-widget-content' style='display:block;max-width:440px;border:0px none;' dir='" + this . p . direction + "'><tbody><tr><td class='query'></td></tr></tbody></table>" ) ; var z = function ( d , g ) { var a = [ true , "" ] ; if ( c . isFunction ( g . searchrules ) ) a =
g . searchrules ( d , g ) ; else if ( c . jgrid && c . jgrid . checkValues ) try { a = c . jgrid . checkValues ( d , - 1 , null , g . searchrules , g . label ) } catch ( b ) { } if ( a && a . length && a [ 0 ] === false ) { o . error = ! a [ 0 ] ; o . errmsg = a [ 1 ] } } ; this . onchange = function ( ) { this . p . error = false ; this . p . errmsg = "" ; return c . isFunction ( this . p . onChange ) ? this . p . onChange . call ( this , this . p ) : false } ; this . reDraw = function ( ) { c ( "table.group:first" , this ) . remove ( ) ; var d = this . createTableForGroup ( o . filter , null ) ; c ( this ) . append ( d ) ; c . isFunction ( this . p . afterRedraw ) && this . p . afterRedraw . call ( this ,
this . p ) } ; this . createTableForGroup = function ( d , g ) { var a = this , b , e = c ( "<table class='group ui-widget ui-widget-content' style='border:0px none;'><tbody></tbody></table>" ) , i = "left" ; if ( this . p . direction == "rtl" ) { i = "right" ; e . attr ( "dir" , "rtl" ) } g === null && e . append ( "<tr class='error' style='display:none;'><th colspan='5' class='ui-state-error' align='" + i + "'></th></tr>" ) ; var f = c ( "<tr></tr>" ) ; e . append ( f ) ; i = c ( "<th colspan='5' align='" + i + "'></th>" ) ; f . append ( i ) ; if ( this . p . ruleButtons === true ) { var h = c ( "<select class='opsel'></select>" ) ;
i . append ( h ) ; f = "" ; var l ; for ( b = 0 ; b < o . groupOps . length ; b ++ ) { l = d . groupOp === a . p . groupOps [ b ] . op ? " selected='selected'" : "" ; f += "<option value='" + a . p . groupOps [ b ] . op + "'" + l + ">" + a . p . groupOps [ b ] . text + "</option>" } h . append ( f ) . bind ( "change" , function ( ) { d . groupOp = c ( h ) . val ( ) ; a . onchange ( ) } ) } f = "<span></span>" ; if ( this . p . groupButton ) { f = c ( "<input type='button' value='+ {}' title='Add subgroup' class='add-group'/>" ) ; f . bind ( "click" , function ( ) { if ( d . groups === undefined ) d . groups = [ ] ; d . groups . push ( { groupOp : o . groupOps [ 0 ] . op , rules : [ ] ,
groups : [ ] } ) ; a . reDraw ( ) ; a . onchange ( ) ; return false } ) } i . append ( f ) ; if ( this . p . ruleButtons === true ) { f = c ( "<input type='button' value='+' title='Add rule' class='add-rule ui-add'/>" ) ; var m ; f . bind ( "click" , function ( ) { if ( d . rules === undefined ) d . rules = [ ] ; for ( b = 0 ; b < a . p . columns . length ; b ++ ) { var n = typeof a . p . columns [ b ] . search === "undefined" ? true : a . p . columns [ b ] . search , s = a . p . columns [ b ] . hidden === true ; if ( a . p . columns [ b ] . searchoptions . searchhidden === true && n || n && ! s ) { m = a . p . columns [ b ] ; break } } d . rules . push ( { field : m . name , op : ( m . searchoptions . sopt ?
m . searchoptions . sopt : a . p . sopt ? a . p . sopt : m . searchtype === "string" ? a . p . stropts : a . p . numopts ) [ 0 ] , data : "" } ) ; a . reDraw ( ) ; return false } ) ; i . append ( f ) } if ( g !== null ) { f = c ( "<input type='button' value='-' title='Delete group' class='delete-group'/>" ) ; i . append ( f ) ; f . bind ( "click" , function ( ) { for ( b = 0 ; b < g . groups . length ; b ++ ) if ( g . groups [ b ] === d ) { g . groups . splice ( b , 1 ) ; break } a . reDraw ( ) ; a . onchange ( ) ; return false } ) } if ( d . groups !== undefined ) for ( b = 0 ; b < d . groups . length ; b ++ ) { i = c ( "<tr></tr>" ) ; e . append ( i ) ; f = c ( "<td class='first'></td>" ) ;
i . append ( f ) ; f = c ( "<td colspan='4'></td>" ) ; f . append ( this . createTableForGroup ( d . groups [ b ] , d ) ) ; i . append ( f ) } if ( d . groupOp === undefined ) d . groupOp = a . p . groupOps [ 0 ] . op ; if ( d . rules !== undefined ) for ( b = 0 ; b < d . rules . length ; b ++ ) e . append ( this . createTableRowForRule ( d . rules [ b ] , d ) ) ; return e } ; this . createTableRowForRule = function ( d , g ) { var a = this , b = c ( "<tr></tr>" ) , e , i , f , h , l = "" , m ; b . append ( "<td class='first'></td>" ) ; var n = c ( "<td class='columns'></td>" ) ; b . append ( n ) ; var s = c ( "<select></select>" ) , p , t = [ ] ; n . append ( s ) ; s . bind ( "change" ,
function ( ) { d . field = c ( s ) . val ( ) ; f = c ( this ) . parents ( "tr:first" ) ; for ( e = 0 ; e < a . p . columns . length ; e ++ ) if ( a . p . columns [ e ] . name === d . field ) { h = a . p . columns [ e ] ; break } if ( h ) { h . searchoptions . id = c . jgrid . randId ( ) ; if ( y && h . inputtype === "text" ) if ( ! h . searchoptions . size ) h . searchoptions . size = 10 ; var r = c . jgrid . createEl ( h . inputtype , h . searchoptions , "" , true , a . p . ajaxSelectOptions , true ) ; c ( r ) . addClass ( "input-elm" ) ; i = h . searchoptions . sopt ? h . searchoptions . sopt : a . p . sopt ? a . p . sopt : h . searchtype === "string" ? a . p . stropts : a . p . numopts ; var u = "" ,
A = 0 ; t = [ ] ; c . each ( a . p . ops , function ( ) { t . push ( this . name ) } ) ; for ( e = 0 ; e < i . length ; e ++ ) { p = c . inArray ( i [ e ] , t ) ; if ( p !== - 1 ) { if ( A === 0 ) d . op = a . p . ops [ p ] . name ; u += "<option value='" + a . p . ops [ p ] . name + "'>" + a . p . ops [ p ] . description + "</option>" ; A ++ } } c ( ".selectopts" , f ) . empty ( ) . append ( u ) ; c ( ".selectopts" , f ) [ 0 ] . selectedIndex = 0 ; if ( c . browser . msie && c . browser . version < 9 ) { u = parseInt ( c ( "select.selectopts" , f ) [ 0 ] . offsetWidth ) + 1 ; c ( ".selectopts" , f ) . width ( u ) ; c ( ".selectopts" , f ) . css ( "width" , "auto" ) } c ( ".data" , f ) . empty ( ) . append ( r ) ; c ( ".input-elm" ,
f ) . bind ( "change" , function ( ) { d . data = c ( this ) . val ( ) ; a . onchange ( ) } ) ; setTimeout ( function ( ) { d . data = c ( r ) . val ( ) ; a . onchange ( ) } , 0 ) } } ) ; for ( e = n = 0 ; e < a . p . columns . length ; e ++ ) { m = typeof a . p . columns [ e ] . search === "undefined" ? true : a . p . columns [ e ] . search ; var C = a . p . columns [ e ] . hidden === true ; if ( a . p . columns [ e ] . searchoptions . searchhidden === true && m || m && ! C ) { m = "" ; if ( d . field === a . p . columns [ e ] . name ) { m = " selected='selected'" ; n = e } l += "<option value='" + a . p . columns [ e ] . name + "'" + m + ">" + a . p . columns [ e ] . label + "</option>" } } s . append ( l ) ; l = c ( "<td class='operators'></td>" ) ;
b . append ( l ) ; h = o . columns [ n ] ; h . searchoptions . id = c . jgrid . randId ( ) ; if ( y && h . inputtype === "text" ) if ( ! h . searchoptions . size ) h . searchoptions . size = 10 ; n = c . jgrid . createEl ( h . inputtype , h . searchoptions , d . data , true , a . p . ajaxSelectOptions , true ) ; var v = c ( "<select class='selectopts'></select>" ) ; l . append ( v ) ; v . bind ( "change" , function ( ) { d . op = c ( v ) . val ( ) ; f = c ( this ) . parents ( "tr:first" ) ; var r = c ( ".input-elm" , f ) [ 0 ] ; if ( d . op === "nu" || d . op === "nn" ) { d . data = "" ; r . value = "" ; r . setAttribute ( "readonly" , "true" ) ; r . setAttribute ( "disabled" , "true" ) } else { r . removeAttribute ( "readonly" ) ;
r . removeAttribute ( "disabled" ) } a . onchange ( ) } ) ; i = h . searchoptions . sopt ? h . searchoptions . sopt : a . p . sopt ? a . p . sopt : h . searchtype === "string" ? o . stropts : a . p . numopts ; l = "" ; c . each ( a . p . ops , function ( ) { t . push ( this . name ) } ) ; for ( e = 0 ; e < i . length ; e ++ ) { p = c . inArray ( i [ e ] , t ) ; if ( p !== - 1 ) { m = d . op === a . p . ops [ p ] . name ? " selected='selected'" : "" ; l += "<option value='" + a . p . ops [ p ] . name + "'" + m + ">" + a . p . ops [ p ] . description + "</option>" } } v . append ( l ) ; l = c ( "<td class='data'></td>" ) ; b . append ( l ) ; l . append ( n ) ; c ( n ) . addClass ( "input-elm" ) . bind ( "change" , function ( ) { d . data =
c ( this ) . val ( ) ; a . onchange ( ) } ) ; l = c ( "<td></td>" ) ; b . append ( l ) ; if ( this . p . ruleButtons === true ) { n = c ( "<input type='button' value='-' title='Delete rule' class='delete-rule ui-del'/>" ) ; l . append ( n ) ; n . bind ( "click" , function ( ) { for ( e = 0 ; e < g . rules . length ; e ++ ) if ( g . rules [ e ] === d ) { g . rules . splice ( e , 1 ) ; break } a . reDraw ( ) ; a . onchange ( ) ; return false } ) } return b } ; this . getStringForGroup = function ( d ) { var g = "(" , a ; if ( d . groups !== undefined ) for ( a = 0 ; a < d . groups . length ; a ++ ) { if ( g . length > 1 ) g += " " + d . groupOp + " " ; try { g += this . getStringForGroup ( d . groups [ a ] ) } catch ( b ) { alert ( b ) } } if ( d . rules !==
undefined ) try { for ( a = 0 ; a < d . rules . length ; a ++ ) { if ( g . length > 1 ) g += " " + d . groupOp + " " ; g += this . getStringForRule ( d . rules [ a ] ) } } catch ( e ) { alert ( e ) } g += ")" ; return g === "()" ? "" : g } ; this . getStringForRule = function ( d ) { var g = "" , a = "" , b , e ; for ( b = 0 ; b < this . p . ops . length ; b ++ ) if ( this . p . ops [ b ] . name === d . op ) { g = this . p . ops [ b ] . operator ; a = this . p . ops [ b ] . name ; break } for ( b = 0 ; b < this . p . columns . length ; b ++ ) if ( this . p . columns [ b ] . name === d . field ) { e = this . p . columns [ b ] ; break } b = d . data ; if ( a === "bw" || a === "bn" ) b += "%" ; if ( a === "ew" || a === "en" ) b = "%" + b ; if ( a ===
"cn" || a === "nc" ) b = "%" + b + "%" ; if ( a === "in" || a === "ni" ) b = " (" + b + ")" ; o . errorcheck && z ( d . data , e ) ; return c . inArray ( e . searchtype , [ "int" , "integer" , "float" , "number" , "currency" ] ) !== - 1 || a === "nn" || a === "nu" ? d . field + " " + g + " " + b : d . field + " " + g + ' "' + b + '"' } ; this . resetFilter = function ( ) { this . p . filter = c . extend ( true , { } , this . p . initFilter ) ; this . reDraw ( ) ; this . onchange ( ) } ; this . hideError = function ( ) { c ( "th.ui-state-error" , this ) . html ( "" ) ; c ( "tr.error" , this ) . hide ( ) } ; this . showError = function ( ) { c ( "th.ui-state-error" , this ) . html ( this . p . errmsg ) ;
c ( "tr.error" , this ) . show ( ) } ; this . toUserFriendlyString = function ( ) { return this . getStringForGroup ( o . filter ) } ; this . toString = function ( ) { function d ( a ) { var b = "(" , e ; if ( a . groups !== undefined ) for ( e = 0 ; e < a . groups . length ; e ++ ) { if ( b . length > 1 ) b += a . groupOp === "OR" ? " || " : " && " ; b += d ( a . groups [ e ] ) } if ( a . rules !== undefined ) for ( e = 0 ; e < a . rules . length ; e ++ ) { if ( b . length > 1 ) b += a . groupOp === "OR" ? " || " : " && " ; var i = a . rules [ e ] ; if ( g . p . errorcheck ) { var f = void 0 , h = void 0 ; for ( f = 0 ; f < g . p . columns . length ; f ++ ) if ( g . p . columns [ f ] . name === i . field ) { h =
g . p . columns [ f ] ; break } h && z ( i . data , h ) } b += i . op + "(item." + i . field + ",'" + i . data + "')" } b += ")" ; return b === "()" ? "" : b } var g = this ; return d ( this . p . filter ) } ; this . reDraw ( ) ; if ( this . p . showQuery ) this . onchange ( ) ; this . filter = true } } } ) } ; c . extend ( c . fn . jqFilter , { toSQLString : function ( ) { var k = "" ; this . each ( function ( ) { k = this . toUserFriendlyString ( ) } ) ; return k } , filterData : function ( ) { var k ; this . each ( function ( ) { k = this . p . filter } ) ; return k } , getParameter : function ( k ) { if ( k !== undefined ) if ( this . p . hasOwnProperty ( k ) ) return this . p [ k ] ; return this . p } ,
resetFilter : function ( ) { return this . each ( function ( ) { this . resetFilter ( ) } ) } , addFilter : function ( k ) { if ( typeof k === "string" ) k = jQuery . jgrid . parse ( k ) ; this . each ( function ( ) { this . p . filter = k ; this . reDraw ( ) ; this . onchange ( ) } ) } } ) } ) ( jQuery ) ;
( function ( a ) { a . jgrid . inlineEdit = a . jgrid . inlineEdit || { } ; a . jgrid . extend ( { editRow : function ( c , d , b , i , q , l , s , m , t ) { var h = { keys : d || false , oneditfunc : b || null , successfunc : i || null , url : q || null , extraparam : l || { } , aftersavefunc : s || null , errorfunc : m || null , afterrestorefunc : t || null , restoreAfterError : true , mtype : "POST" } , u = a . makeArray ( arguments ) . slice ( 1 ) , e ; e = u [ 0 ] && typeof u [ 0 ] == "object" && ! a . isFunction ( u [ 0 ] ) ? a . extend ( a . jgrid . inlineEdit , h , u [ 0 ] ) : h ; return this . each ( function ( ) { var g = this , f , o , x = 0 , y = null , w = { } , p , j ; if ( g . grid ) { p = a ( g ) . jqGrid ( "getInd" ,
c , true ) ; if ( p !== false ) if ( ( a ( p ) . attr ( "editable" ) || "0" ) == "0" && ! a ( p ) . hasClass ( "not-editable-row" ) ) { j = g . p . colModel ; a ( 'td[role="gridcell"]' , p ) . each ( function ( k ) { f = j [ k ] . name ; var A = g . p . treeGrid === true && f == g . p . ExpandColumn ; if ( A ) o = a ( "span:first" , this ) . html ( ) ; else try { o = a . unformat ( this , { rowId : c , colModel : j [ k ] } , k ) } catch ( r ) { o = j [ k ] . edittype && j [ k ] . edittype == "textarea" ? a ( this ) . text ( ) : a ( this ) . html ( ) } if ( f != "cb" && f != "subgrid" && f != "rn" ) { if ( g . p . autoencode ) o = a . jgrid . htmlDecode ( o ) ; w [ f ] = o ; if ( j [ k ] . editable === true ) { if ( y === null ) y =
k ; A ? a ( "span:first" , this ) . html ( "" ) : a ( this ) . html ( "" ) ; var n = a . extend ( { } , j [ k ] . editoptions || { } , { id : c + "_" + f , name : f } ) ; if ( ! j [ k ] . edittype ) j [ k ] . edittype = "text" ; if ( o == " " || o == " " || o . length == 1 && o . charCodeAt ( 0 ) == 160 ) o = "" ; n = a . jgrid . createEl ( j [ k ] . edittype , n , o , true , a . extend ( { } , a . jgrid . ajaxOptions , g . p . ajaxSelectOptions || { } ) ) ; a ( n ) . addClass ( "editable" ) ; A ? a ( "span:first" , this ) . append ( n ) : a ( this ) . append ( n ) ; j [ k ] . edittype == "select" && typeof j [ k ] . editoptions !== "undefined" && j [ k ] . editoptions . multiple === true && typeof j [ k ] . editoptions . dataUrl ===
"undefined" && a . browser . msie && a ( n ) . width ( a ( n ) . width ( ) ) ; x ++ } } } ) ; if ( x > 0 ) { w . id = c ; g . p . savedRow . push ( w ) ; a ( p ) . attr ( "editable" , "1" ) ; a ( "td:eq(" + y + ") input" , p ) . focus ( ) ; e . keys === true && a ( p ) . bind ( "keydown" , function ( k ) { if ( k . keyCode === 27 ) { a ( g ) . jqGrid ( "restoreRow" , c , t ) ; return false } if ( k . keyCode === 13 ) { if ( k . target . tagName == "TEXTAREA" ) return true ; a ( g ) . jqGrid ( "saveRow" , c , e ) ; return false } } ) ; a . isFunction ( e . oneditfunc ) && e . oneditfunc . call ( g , c ) } } } } ) } , saveRow : function ( c , d , b , i , q , l , s ) { var m = { successfunc : d || null , url : b || null ,
extraparam : i || { } , aftersavefunc : q || null , errorfunc : l || null , afterrestorefunc : s || null , restoreAfterError : true , mtype : "POST" } , t = a . makeArray ( arguments ) . slice ( 1 ) , h ; h = t [ 0 ] && typeof t [ 0 ] == "object" && ! a . isFunction ( t [ 0 ] ) ? a . extend ( a . jgrid . inlineEdit , m , t [ 0 ] ) : m ; var u = false , e = this [ 0 ] , g , f = { } , o = { } , x = { } , y , w , p ; if ( ! e . grid ) return u ; p = a ( e ) . jqGrid ( "getInd" , c , true ) ; if ( p === false ) return u ; m = a ( p ) . attr ( "editable" ) ; h . url = h . url ? h . url : e . p . editurl ; if ( m === "1" ) { var j ; a ( 'td[role="gridcell"]' , p ) . each ( function ( r ) { j = e . p . colModel [ r ] ; g = j . name ;
if ( g != "cb" && g != "subgrid" && j . editable === true && g != "rn" && ! a ( this ) . hasClass ( "not-editable-cell" ) ) { switch ( j . edittype ) { case "checkbox" : var n = [ "Yes" , "No" ] ; if ( j . editoptions ) n = j . editoptions . value . split ( ":" ) ; f [ g ] = a ( "input" , this ) . is ( ":checked" ) ? n [ 0 ] : n [ 1 ] ; break ; case "text" : case "password" : case "textarea" : case "button" : f [ g ] = a ( "input, textarea" , this ) . val ( ) ; break ; case "select" : if ( j . editoptions . multiple ) { n = a ( "select" , this ) ; var v = [ ] ; f [ g ] = a ( n ) . val ( ) ; f [ g ] = f [ g ] ? f [ g ] . join ( "," ) : "" ; a ( "select option:selected" , this ) . each ( function ( B ,
C ) { v [ B ] = a ( C ) . text ( ) } ) ; o [ g ] = v . join ( "," ) } else { f [ g ] = a ( "select option:selected" , this ) . val ( ) ; o [ g ] = a ( "select option:selected" , this ) . text ( ) } if ( j . formatter && j . formatter == "select" ) o = { } ; break ; case "custom" : try { if ( j . editoptions && a . isFunction ( j . editoptions . custom _value ) ) { f [ g ] = j . editoptions . custom _value . call ( e , a ( ".customelement" , this ) , "get" ) ; if ( f [ g ] === undefined ) throw "e2" ; } else throw "e1" ; } catch ( z ) { z == "e1" && a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , "function 'custom_value' " + a . jgrid . edit . msg . nodefined , jQuery . jgrid . edit . bClose ) ;
z == "e2" ? a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , "function 'custom_value' " + a . jgrid . edit . msg . novalue , jQuery . jgrid . edit . bClose ) : a . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , z . message , jQuery . jgrid . edit . bClose ) } } w = a . jgrid . checkValues ( f [ g ] , r , e ) ; if ( w [ 0 ] === false ) { w [ 1 ] = f [ g ] + " " + w [ 1 ] ; return false } if ( e . p . autoencode ) f [ g ] = a . jgrid . htmlEncode ( f [ g ] ) ; if ( h . url !== "clientArray" && j . editoptions && j . editoptions . NullIfEmpty === true ) if ( f [ g ] === "" ) x [ g ] = "null" } } ) ; if ( w [ 0 ] === false ) { try { var k = a . jgrid . findPos ( a ( "#" + a . jgrid . jqID ( c ) ,
e . grid . bDiv ) [ 0 ] ) ; a . jgrid . info _dialog ( a . jgrid . errors . errcap , w [ 1 ] , a . jgrid . edit . bClose , { left : k [ 0 ] , top : k [ 1 ] } ) } catch ( A ) { alert ( w [ 1 ] ) } return u } m = e . p . prmNames ; t = m . oper ; k = m . id ; if ( f ) { f [ t ] = m . editoper ; f [ k ] = c ; if ( typeof e . p . inlineData == "undefined" ) e . p . inlineData = { } ; f = a . extend ( { } , f , e . p . inlineData , h . extraparam ) } if ( h . url == "clientArray" ) { f = a . extend ( { } , f , o ) ; e . p . autoencode && a . each ( f , function ( r , n ) { f [ r ] = a . jgrid . htmlDecode ( n ) } ) ; k = a ( e ) . jqGrid ( "setRowData" , c , f ) ; a ( p ) . attr ( "editable" , "0" ) ; for ( m = 0 ; m < e . p . savedRow . length ; m ++ ) if ( e . p . savedRow [ m ] . id ==
c ) { y = m ; break } y >= 0 && e . p . savedRow . splice ( y , 1 ) ; a . isFunction ( h . aftersavefunc ) && h . aftersavefunc . call ( e , c , k ) ; u = true ; a ( p ) . unbind ( "keydown" ) } else { a ( "#lui_" + e . p . id ) . show ( ) ; x = a . extend ( { } , f , x ) ; x [ k ] = a . jgrid . stripPref ( e . p . idPrefix , x [ k ] ) ; a . ajax ( a . extend ( { url : h . url , data : a . isFunction ( e . p . serializeRowData ) ? e . p . serializeRowData . call ( e , x ) : x , type : h . mtype , async : false , complete : function ( r , n ) { a ( "#lui_" + e . p . id ) . hide ( ) ; if ( n === "success" ) { var v = true , z ; if ( a . isFunction ( h . successfunc ) ) { z = h . successfunc . call ( e , r ) ; if ( a . isArray ( z ) ) { v =
z [ 0 ] ; f = z [ 1 ] ? z [ 1 ] : f } else v = z } if ( v === true ) { e . p . autoencode && a . each ( f , function ( B , C ) { f [ B ] = a . jgrid . htmlDecode ( C ) } ) ; f = a . extend ( { } , f , o ) ; a ( e ) . jqGrid ( "setRowData" , c , f ) ; a ( p ) . attr ( "editable" , "0" ) ; for ( v = 0 ; v < e . p . savedRow . length ; v ++ ) if ( e . p . savedRow [ v ] . id == c ) { y = v ; break } y >= 0 && e . p . savedRow . splice ( y , 1 ) ; a . isFunction ( h . aftersavefunc ) && h . aftersavefunc . call ( e , c , r ) ; u = true ; a ( p ) . unbind ( "keydown" ) } else { a . isFunction ( h . errorfunc ) && h . errorfunc . call ( e , c , r , n ) ; h . restoreAfterError === true && a ( e ) . jqGrid ( "restoreRow" , c , h . afterrestorefunc ) } } } ,
error : function ( r , n ) { a ( "#lui_" + e . p . id ) . hide ( ) ; if ( a . isFunction ( h . errorfunc ) ) h . errorfunc . call ( e , c , r , n ) ; else try { jQuery . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , '<div class="ui-state-error">' + r . responseText + "</div>" , jQuery . jgrid . edit . bClose , { buttonalign : "right" } ) } catch ( v ) { alert ( r . responseText ) } h . restoreAfterError === true && a ( e ) . jqGrid ( "restoreRow" , c , h . afterrestorefunc ) } } , a . jgrid . ajaxOptions , e . p . ajaxRowOptions || { } ) ) } } return u } , restoreRow : function ( c , d ) { var b = { afterrestorefunc : d || null } , i = a . makeArray ( arguments ) . slice ( 1 ) ,
q ; q = i [ 0 ] && typeof i [ 0 ] == "object" && ! a . isFunction ( i [ 0 ] ) ? a . extend ( a . jgrid . inlineEdit , b , i [ 0 ] ) : b ; return this . each ( function ( ) { var l = this , s , m , t = { } ; if ( l . grid ) { m = a ( l ) . jqGrid ( "getInd" , c , true ) ; if ( m !== false ) { for ( var h = 0 ; h < l . p . savedRow . length ; h ++ ) if ( l . p . savedRow [ h ] . id == c ) { s = h ; break } if ( s >= 0 ) { if ( a . isFunction ( a . fn . datepicker ) ) try { a ( "input.hasDatepicker" , "#" + a . jgrid . jqID ( m . id ) ) . datepicker ( "hide" ) } catch ( u ) { } a . each ( l . p . colModel , function ( ) { if ( this . editable === true && this . name in l . p . savedRow [ s ] && ! a ( this ) . hasClass ( "not-editable-cell" ) ) t [ this . name ] =
l . p . savedRow [ s ] [ this . name ] } ) ; a ( l ) . jqGrid ( "setRowData" , c , t ) ; a ( m ) . attr ( "editable" , "0" ) . unbind ( "keydown" ) ; l . p . savedRow . splice ( s , 1 ) ; a ( "#" + a . jgrid . jqID ( c ) , "#" + a . jgrid . jqID ( l . p . id ) ) . hasClass ( "jqgrid-new-row" ) && setTimeout ( function ( ) { a ( l ) . jqGrid ( "delRowData" , c ) } , 0 ) } a . isFunction ( q . afterrestorefunc ) && q . afterrestorefunc . call ( l , c ) } } } ) } , addRow : function ( c ) { c = a . extend ( { rowID : "new_row" , initdata : { } , position : "first" , useDefValues : false , useFormatter : false , addRowParams : { extraparam : { } } } , c || { } ) ; return this . each ( function ( ) { if ( this . grid ) { var d =
this ; c . useDefValues === true && a ( d . p . colModel ) . each ( function ( ) { if ( this . edioptions && this . editoptions . defaultValue ) { var i = this . editoptions . defaultValue ; i = a . isFunction ( i ) ? i . call ( d ) : i ; c . initdata [ this . name ] = i } } ) ; a ( d ) . jqGrid ( "addRowData" , c . rowID , c . initdata , c . position ) ; a ( "#" + a . jgrid . jqID ( c . rowID ) , "#" + a . jgrid . jqID ( d . p . id ) ) . addClass ( "jqgrid-new-row" ) ; if ( c . useFormatter ) a ( "#" + a . jgrid . jqID ( c . rowID ) + " .ui-inline-edit" , "#" + a . jgrid . jqID ( d . p . id ) ) . click ( ) ; else { var b = d . p . prmNames ; c . addRowParams . extraparam [ b . oper ] = b . addoper ;
a ( d ) . jqGrid ( "editRow" , c . rowID , c . addRowParams ) ; a ( d ) . jqGrid ( "setSelection" , c . rowID ) } } } ) } , inlineNav : function ( c , d ) { d = a . extend ( { edit : true , editicon : "ui-icon-pencil" , add : true , addicon : "ui-icon-plus" , save : true , saveicon : "ui-icon-disk" , cancel : true , cancelicon : "ui-icon-cancel" , addParams : { useFormatter : false } , editParams : { } } , a . jgrid . nav , d || { } ) ; return this . each ( function ( ) { if ( this . grid ) { var b = this ; if ( d . addParams . useFormatter === true ) { var i = b . p . colModel , q ; for ( q = 0 ; q < i . length ; q ++ ) if ( i [ q ] . formatter && i [ q ] . formatter === "actions" ) { if ( i [ q ] . formatoptions ) { i =
a . extend ( { keys : false , onEdit : null , onSuccess : null , afterSave : null , onError : null , afterRestore : null , extraparam : { } , url : null } , i [ q ] . formatoptions ) ; d . addParams . addRowParams = { keys : i . keys , oneditfunc : i . onEdit , successfunc : i . onSuccess , url : i . url , extraparam : i . extraparam , aftersavefunc : i . afterSavef , errorfunc : i . onError , afterrestorefunc : i . afterRestore } } break } } d . add && a ( b ) . jqGrid ( "navButtonAdd" , c , { caption : d . addtext , title : d . addtitle , buttonicon : d . addicon , id : b . p . id + "_iladd" , onClickButton : function ( ) { a ( b ) . jqGrid ( "addRow" , d . addParams ) ;
if ( ! d . addParams . useFormatter ) { a ( "#" + b . p . id + "_ilsave" ) . removeClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_ilcancel" ) . removeClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iladd" ) . addClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iledit" ) . addClass ( "ui-state-disabled" ) } } } ) ; d . edit && a ( b ) . jqGrid ( "navButtonAdd" , c , { caption : d . edittext , title : d . edittitle , buttonicon : d . editicon , id : b . p . id + "_iledit" , onClickButton : function ( ) { var l = a ( b ) . jqGrid ( "getGridParam" , "selrow" ) ; if ( l ) { a ( b ) . jqGrid ( "editRow" , l , d . editParams ) ; a ( "#" + b . p . id + "_ilsave" ) . removeClass ( "ui-state-disabled" ) ;
a ( "#" + b . p . id + "_ilcancel" ) . removeClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iladd" ) . addClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iledit" ) . addClass ( "ui-state-disabled" ) } else { a . jgrid . viewModal ( "#alertmod" , { gbox : "#gbox_" + b . p . id , jqm : true } ) ; a ( "#jqg_alrt" ) . focus ( ) } } } ) ; if ( d . save ) { a ( b ) . jqGrid ( "navButtonAdd" , c , { caption : d . savetext || "" , title : d . savetitle || "Save row" , buttonicon : d . saveicon , id : b . p . id + "_ilsave" , onClickButton : function ( ) { var l = a ( b ) . jqGrid ( "getGridParam" , "selrow" ) ; if ( l ) { if ( a ( "#" + a . jgrid . jqID ( l ) , "#" + a . jgrid . jqID ( b . p . id ) ) . hasClass ( "jqgrid-new-row" ) ) { var s =
b . p . prmNames , m = s . oper ; if ( ! d . editParams . extraparam ) d . editParams . extraparam = { } ; d . editParams . extraparam [ m ] = s . addoper } a ( b ) . jqGrid ( "saveRow" , l , d . editParams ) ; a ( "#" + b . p . id + "_ilsave" ) . addClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_ilcancel" ) . addClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iladd" ) . removeClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iledit" ) . removeClass ( "ui-state-disabled" ) } else { a . jgrid . viewModal ( "#alertmod" , { gbox : "#gbox_" + b . p . id , jqm : true } ) ; a ( "#jqg_alrt" ) . focus ( ) } } } ) ; a ( "#" + b . p . id + "_ilsave" ) . addClass ( "ui-state-disabled" ) } if ( d . cancel ) { a ( b ) . jqGrid ( "navButtonAdd" ,
c , { caption : d . canceltext || "" , title : d . canceltitle || "Cancel row editing" , buttonicon : d . cancelicon , id : b . p . id + "_ilcancel" , onClickButton : function ( ) { var l = a ( b ) . jqGrid ( "getGridParam" , "selrow" ) ; if ( l ) { a ( b ) . jqGrid ( "restoreRow" , l , d . editParams ) ; a ( "#" + b . p . id + "_ilsave" ) . addClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_ilcancel" ) . addClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iladd" ) . removeClass ( "ui-state-disabled" ) ; a ( "#" + b . p . id + "_iledit" ) . removeClass ( "ui-state-disabled" ) } else { a . jgrid . viewModal ( "#alertmod" , { gbox : "#gbox_" +
b . p . id , jqm : true } ) ; a ( "#jqg_alrt" ) . focus ( ) } } } ) ; a ( "#" + b . p . id + "_ilcancel" ) . addClass ( "ui-state-disabled" ) } } } ) } } ) } ) ( jQuery ) ;
( function ( b ) { b . jgrid . extend ( { editCell : function ( d , f , a ) { return this . each ( function ( ) { var c = this , h , e , g , i ; if ( ! ( ! c . grid || c . p . cellEdit !== true ) ) { f = parseInt ( f , 10 ) ; c . p . selrow = c . rows [ d ] . id ; c . p . knv || b ( c ) . jqGrid ( "GridNav" ) ; if ( c . p . savedRow . length > 0 ) { if ( a === true ) if ( d == c . p . iRow && f == c . p . iCol ) return ; b ( c ) . jqGrid ( "saveCell" , c . p . savedRow [ 0 ] . id , c . p . savedRow [ 0 ] . ic ) } else window . setTimeout ( function ( ) { b ( "#" + c . p . knv ) . attr ( "tabindex" , "-1" ) . focus ( ) } , 0 ) ; i = c . p . colModel [ f ] ; h = i . name ; if ( ! ( h == "subgrid" || h == "cb" || h == "rn" ) ) { g = b ( "td:eq(" +
f + ")" , c . rows [ d ] ) ; if ( i . editable === true && a === true && ! g . hasClass ( "not-editable-cell" ) ) { if ( parseInt ( c . p . iCol , 10 ) >= 0 && parseInt ( c . p . iRow , 10 ) >= 0 ) { b ( "td:eq(" + c . p . iCol + ")" , c . rows [ c . p . iRow ] ) . removeClass ( "edit-cell ui-state-highlight" ) ; b ( c . rows [ c . p . iRow ] ) . removeClass ( "selected-row ui-state-hover" ) } b ( g ) . addClass ( "edit-cell ui-state-highlight" ) ; b ( c . rows [ d ] ) . addClass ( "selected-row ui-state-hover" ) ; try { e = b . unformat ( g , { rowId : c . rows [ d ] . id , colModel : i } , f ) } catch ( k ) { e = i . edittype && i . edittype == "textarea" ? b ( g ) . text ( ) : b ( g ) . html ( ) } if ( c . p . autoencode ) e =
b . jgrid . htmlDecode ( e ) ; if ( ! i . edittype ) i . edittype = "text" ; c . p . savedRow . push ( { id : d , ic : f , name : h , v : e } ) ; if ( e == " " || e == " " || e . length == 1 && e . charCodeAt ( 0 ) == 160 ) e = "" ; if ( b . isFunction ( c . p . formatCell ) ) { var j = c . p . formatCell . call ( c , c . rows [ d ] . id , h , e , d , f ) ; if ( j !== undefined ) e = j } j = b . extend ( { } , i . editoptions || { } , { id : d + "_" + h , name : h } ) ; var m = b . jgrid . createEl ( i . edittype , j , e , true , b . extend ( { } , b . jgrid . ajaxOptions , c . p . ajaxSelectOptions || { } ) ) ; b . isFunction ( c . p . beforeEditCell ) && c . p . beforeEditCell . call ( c , c . rows [ d ] . id , h , e ,
d , f ) ; b ( g ) . html ( "" ) . append ( m ) . attr ( "tabindex" , "0" ) ; window . setTimeout ( function ( ) { b ( m ) . focus ( ) } , 0 ) ; b ( "input, select, textarea" , g ) . bind ( "keydown" , function ( l ) { if ( l . keyCode === 27 ) if ( b ( "input.hasDatepicker" , g ) . length > 0 ) b ( ".ui-datepicker" ) . is ( ":hidden" ) ? b ( c ) . jqGrid ( "restoreCell" , d , f ) : b ( "input.hasDatepicker" , g ) . datepicker ( "hide" ) ; else b ( c ) . jqGrid ( "restoreCell" , d , f ) ; l . keyCode === 13 && b ( c ) . jqGrid ( "saveCell" , d , f ) ; if ( l . keyCode == 9 ) if ( c . grid . hDiv . loading ) return false ; else l . shiftKey ? b ( c ) . jqGrid ( "prevCell" , d , f ) : b ( c ) . jqGrid ( "nextCell" ,
d , f ) ; l . stopPropagation ( ) } ) ; b . isFunction ( c . p . afterEditCell ) && c . p . afterEditCell . call ( c , c . rows [ d ] . id , h , e , d , f ) } else { if ( parseInt ( c . p . iCol , 10 ) >= 0 && parseInt ( c . p . iRow , 10 ) >= 0 ) { b ( "td:eq(" + c . p . iCol + ")" , c . rows [ c . p . iRow ] ) . removeClass ( "edit-cell ui-state-highlight" ) ; b ( c . rows [ c . p . iRow ] ) . removeClass ( "selected-row ui-state-hover" ) } g . addClass ( "edit-cell ui-state-highlight" ) ; b ( c . rows [ d ] ) . addClass ( "selected-row ui-state-hover" ) ; if ( b . isFunction ( c . p . onSelectCell ) ) { e = g . html ( ) . replace ( /\ \;/ig , "" ) ; c . p . onSelectCell . call ( c ,
c . rows [ d ] . id , h , e , d , f ) } } c . p . iCol = f ; c . p . iRow = d } } } ) } , saveCell : function ( d , f ) { return this . each ( function ( ) { var a = this , c ; if ( ! ( ! a . grid || a . p . cellEdit !== true ) ) { c = a . p . savedRow . length >= 1 ? 0 : null ; if ( c !== null ) { var h = b ( "td:eq(" + f + ")" , a . rows [ d ] ) , e , g , i = a . p . colModel [ f ] , k = i . name , j = b . jgrid . jqID ( k ) ; switch ( i . edittype ) { case "select" : if ( i . editoptions . multiple ) { j = b ( "#" + d + "_" + j , a . rows [ d ] ) ; var m = [ ] ; if ( e = b ( j ) . val ( ) ) e . join ( "," ) ; else e = "" ; b ( "option:selected" , j ) . each ( function ( o , p ) { m [ o ] = b ( p ) . text ( ) } ) ; g = m . join ( "," ) } else { e = b ( "#" + d +
"_" + j + ">option:selected" , a . rows [ d ] ) . val ( ) ; g = b ( "#" + d + "_" + j + ">option:selected" , a . rows [ d ] ) . text ( ) } if ( i . formatter ) g = e ; break ; case "checkbox" : var l = [ "Yes" , "No" ] ; if ( i . editoptions ) l = i . editoptions . value . split ( ":" ) ; g = e = b ( "#" + d + "_" + j , a . rows [ d ] ) . is ( ":checked" ) ? l [ 0 ] : l [ 1 ] ; break ; case "password" : case "text" : case "textarea" : case "button" : g = e = b ( "#" + d + "_" + j , a . rows [ d ] ) . val ( ) ; break ; case "custom" : try { if ( i . editoptions && b . isFunction ( i . editoptions . custom _value ) ) { e = i . editoptions . custom _value . call ( a , b ( ".customelement" , h ) , "get" ) ;
if ( e === undefined ) throw "e2" ; else g = e } else throw "e1" ; } catch ( q ) { q == "e1" && b . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , "function 'custom_value' " + b . jgrid . edit . msg . nodefined , jQuery . jgrid . edit . bClose ) ; q == "e2" ? b . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , "function 'custom_value' " + b . jgrid . edit . msg . novalue , jQuery . jgrid . edit . bClose ) : b . jgrid . info _dialog ( jQuery . jgrid . errors . errcap , q . message , jQuery . jgrid . edit . bClose ) } } if ( g !== a . p . savedRow [ c ] . v ) { if ( b . isFunction ( a . p . beforeSaveCell ) ) if ( c = a . p . beforeSaveCell . call ( a ,
a . rows [ d ] . id , k , e , d , f ) ) g = e = c ; var r = b . jgrid . checkValues ( e , f , a ) ; if ( r [ 0 ] === true ) { c = { } ; if ( b . isFunction ( a . p . beforeSubmitCell ) ) ( c = a . p . beforeSubmitCell . call ( a , a . rows [ d ] . id , k , e , d , f ) ) || ( c = { } ) ; b ( "input.hasDatepicker" , h ) . length > 0 && b ( "input.hasDatepicker" , h ) . datepicker ( "hide" ) ; if ( a . p . cellsubmit == "remote" ) if ( a . p . cellurl ) { var n = { } ; if ( a . p . autoencode ) e = b . jgrid . htmlEncode ( e ) ; n [ k ] = e ; l = a . p . prmNames ; i = l . id ; j = l . oper ; n [ i ] = b . jgrid . stripPref ( a . p . idPrefix , a . rows [ d ] . id ) ; n [ j ] = l . editoper ; n = b . extend ( c , n ) ; b ( "#lui_" + a . p . id ) . show ( ) ;
a . grid . hDiv . loading = true ; b . ajax ( b . extend ( { url : a . p . cellurl , data : b . isFunction ( a . p . serializeCellData ) ? a . p . serializeCellData . call ( a , n ) : n , type : "POST" , complete : function ( o , p ) { b ( "#lui_" + a . p . id ) . hide ( ) ; a . grid . hDiv . loading = false ; if ( p == "success" ) if ( b . isFunction ( a . p . afterSubmitCell ) ) { var s = a . p . afterSubmitCell . call ( a , o , n . id , k , e , d , f ) ; if ( s [ 0 ] === true ) { b ( h ) . empty ( ) ; b ( a ) . jqGrid ( "setCell" , a . rows [ d ] . id , f , g , false , false , true ) ; b ( h ) . addClass ( "dirty-cell" ) ; b ( a . rows [ d ] ) . addClass ( "edited" ) ; b . isFunction ( a . p . afterSaveCell ) &&
a . p . afterSaveCell . call ( a , a . rows [ d ] . id , k , e , d , f ) ; a . p . savedRow . splice ( 0 , 1 ) } else { b . jgrid . info _dialog ( b . jgrid . errors . errcap , s [ 1 ] , b . jgrid . edit . bClose ) ; b ( a ) . jqGrid ( "restoreCell" , d , f ) } } else { b ( h ) . empty ( ) ; b ( a ) . jqGrid ( "setCell" , a . rows [ d ] . id , f , g , false , false , true ) ; b ( h ) . addClass ( "dirty-cell" ) ; b ( a . rows [ d ] ) . addClass ( "edited" ) ; b . isFunction ( a . p . afterSaveCell ) && a . p . afterSaveCell . call ( a , a . rows [ d ] . id , k , e , d , f ) ; a . p . savedRow . splice ( 0 , 1 ) } } , error : function ( o , p ) { b ( "#lui_" + a . p . id ) . hide ( ) ; a . grid . hDiv . loading = false ; b . isFunction ( a . p . errorCell ) ?
a . p . errorCell . call ( a , o , p ) : b . jgrid . info _dialog ( b . jgrid . errors . errcap , o . status + " : " + o . statusText + "<br/>" + p , b . jgrid . edit . bClose ) ; b ( a ) . jqGrid ( "restoreCell" , d , f ) } } , b . jgrid . ajaxOptions , a . p . ajaxCellOptions || { } ) ) } else try { b . jgrid . info _dialog ( b . jgrid . errors . errcap , b . jgrid . errors . nourl , b . jgrid . edit . bClose ) ; b ( a ) . jqGrid ( "restoreCell" , d , f ) } catch ( t ) { } if ( a . p . cellsubmit == "clientArray" ) { b ( h ) . empty ( ) ; b ( a ) . jqGrid ( "setCell" , a . rows [ d ] . id , f , g , false , false , true ) ; b ( h ) . addClass ( "dirty-cell" ) ; b ( a . rows [ d ] ) . addClass ( "edited" ) ;
b . isFunction ( a . p . afterSaveCell ) && a . p . afterSaveCell . call ( a , a . rows [ d ] . id , k , e , d , f ) ; a . p . savedRow . splice ( 0 , 1 ) } } else try { window . setTimeout ( function ( ) { b . jgrid . info _dialog ( b . jgrid . errors . errcap , e + " " + r [ 1 ] , b . jgrid . edit . bClose ) } , 100 ) ; b ( a ) . jqGrid ( "restoreCell" , d , f ) } catch ( u ) { } } else b ( a ) . jqGrid ( "restoreCell" , d , f ) } b . browser . opera ? b ( "#" + a . p . knv ) . attr ( "tabindex" , "-1" ) . focus ( ) : window . setTimeout ( function ( ) { b ( "#" + a . p . knv ) . attr ( "tabindex" , "-1" ) . focus ( ) } , 0 ) } } ) } , restoreCell : function ( d , f ) { return this . each ( function ( ) { var a =
this , c ; if ( ! ( ! a . grid || a . p . cellEdit !== true ) ) { c = a . p . savedRow . length >= 1 ? 0 : null ; if ( c !== null ) { var h = b ( "td:eq(" + f + ")" , a . rows [ d ] ) ; if ( b . isFunction ( b . fn . datepicker ) ) try { b ( "input.hasDatepicker" , h ) . datepicker ( "hide" ) } catch ( e ) { } b ( h ) . empty ( ) . attr ( "tabindex" , "-1" ) ; b ( a ) . jqGrid ( "setCell" , a . rows [ d ] . id , f , a . p . savedRow [ c ] . v , false , false , true ) ; b . isFunction ( a . p . afterRestoreCell ) && a . p . afterRestoreCell . call ( a , a . rows [ d ] . id , a . p . savedRow [ c ] . v , d , f ) ; a . p . savedRow . splice ( 0 , 1 ) } window . setTimeout ( function ( ) { b ( "#" + a . p . knv ) . attr ( "tabindex" ,
"-1" ) . focus ( ) } , 0 ) } } ) } , nextCell : function ( d , f ) { return this . each ( function ( ) { var a = false ; if ( ! ( ! this . grid || this . p . cellEdit !== true ) ) { for ( var c = f + 1 ; c < this . p . colModel . length ; c ++ ) if ( this . p . colModel [ c ] . editable === true ) { a = c ; break } if ( a !== false ) b ( this ) . jqGrid ( "editCell" , d , a , true ) ; else this . p . savedRow . length > 0 && b ( this ) . jqGrid ( "saveCell" , d , f ) } } ) } , prevCell : function ( d , f ) { return this . each ( function ( ) { var a = false ; if ( ! ( ! this . grid || this . p . cellEdit !== true ) ) { for ( var c = f - 1 ; c >= 0 ; c -- ) if ( this . p . colModel [ c ] . editable === true ) { a =
c ; break } if ( a !== false ) b ( this ) . jqGrid ( "editCell" , d , a , true ) ; else this . p . savedRow . length > 0 && b ( this ) . jqGrid ( "saveCell" , d , f ) } } ) } , GridNav : function ( ) { return this . each ( function ( ) { function d ( g , i , k ) { if ( k . substr ( 0 , 1 ) == "v" ) { var j = b ( a . grid . bDiv ) [ 0 ] . clientHeight , m = b ( a . grid . bDiv ) [ 0 ] . scrollTop , l = a . rows [ g ] . offsetTop + a . rows [ g ] . clientHeight , q = a . rows [ g ] . offsetTop ; if ( k == "vd" ) if ( l >= j ) b ( a . grid . bDiv ) [ 0 ] . scrollTop = b ( a . grid . bDiv ) [ 0 ] . scrollTop + a . rows [ g ] . clientHeight ; if ( k == "vu" ) if ( q < m ) b ( a . grid . bDiv ) [ 0 ] . scrollTop = b ( a . grid . bDiv ) [ 0 ] . scrollTop -
a . rows [ g ] . clientHeight } if ( k == "h" ) { k = b ( a . grid . bDiv ) [ 0 ] . clientWidth ; j = b ( a . grid . bDiv ) [ 0 ] . scrollLeft ; m = a . rows [ g ] . cells [ i ] . offsetLeft ; if ( a . rows [ g ] . cells [ i ] . offsetLeft + a . rows [ g ] . cells [ i ] . clientWidth >= k + parseInt ( j , 10 ) ) b ( a . grid . bDiv ) [ 0 ] . scrollLeft = b ( a . grid . bDiv ) [ 0 ] . scrollLeft + a . rows [ g ] . cells [ i ] . clientWidth ; else if ( m < j ) b ( a . grid . bDiv ) [ 0 ] . scrollLeft = b ( a . grid . bDiv ) [ 0 ] . scrollLeft - a . rows [ g ] . cells [ i ] . clientWidth } } function f ( g , i ) { var k , j ; if ( i == "lft" ) { k = g + 1 ; for ( j = g ; j >= 0 ; j -- ) if ( a . p . colModel [ j ] . hidden !== true ) { k = j ; break } } if ( i ==
"rgt" ) { k = g - 1 ; for ( j = g ; j < a . p . colModel . length ; j ++ ) if ( a . p . colModel [ j ] . hidden !== true ) { k = j ; break } } return k } var a = this ; if ( ! ( ! a . grid || a . p . cellEdit !== true ) ) { a . p . knv = a . p . id + "_kn" ; var c = b ( "<span style='width:0px;height:0px;background-color:black;' tabindex='0'><span tabindex='-1' style='width:0px;height:0px;background-color:grey' id='" + a . p . knv + "'></span></span>" ) , h , e ; b ( c ) . insertBefore ( a . grid . cDiv ) ; b ( "#" + a . p . knv ) . focus ( ) . keydown ( function ( g ) { e = g . keyCode ; if ( a . p . direction == "rtl" ) if ( e == 37 ) e = 39 ; else if ( e == 39 ) e = 37 ;
switch ( e ) { case 38 : if ( a . p . iRow - 1 > 0 ) { d ( a . p . iRow - 1 , a . p . iCol , "vu" ) ; b ( a ) . jqGrid ( "editCell" , a . p . iRow - 1 , a . p . iCol , false ) } break ; case 40 : if ( a . p . iRow + 1 <= a . rows . length - 1 ) { d ( a . p . iRow + 1 , a . p . iCol , "vd" ) ; b ( a ) . jqGrid ( "editCell" , a . p . iRow + 1 , a . p . iCol , false ) } break ; case 37 : if ( a . p . iCol - 1 >= 0 ) { h = f ( a . p . iCol - 1 , "lft" ) ; d ( a . p . iRow , h , "h" ) ; b ( a ) . jqGrid ( "editCell" , a . p . iRow , h , false ) } break ; case 39 : if ( a . p . iCol + 1 <= a . p . colModel . length - 1 ) { h = f ( a . p . iCol + 1 , "rgt" ) ; d ( a . p . iRow , h , "h" ) ; b ( a ) . jqGrid ( "editCell" , a . p . iRow , h , false ) } break ; case 13 : parseInt ( a . p . iCol ,
10 ) >= 0 && parseInt ( a . p . iRow , 10 ) >= 0 && b ( a ) . jqGrid ( "editCell" , a . p . iRow , a . p . iCol , true ) ; break ; default : return true } return false } ) } } ) } , getChangedCells : function ( d ) { var f = [ ] ; d || ( d = "all" ) ; this . each ( function ( ) { var a = this , c ; ! a . grid || a . p . cellEdit !== true || b ( a . rows ) . each ( function ( h ) { var e = { } ; if ( b ( this ) . hasClass ( "edited" ) ) { b ( "td" , this ) . each ( function ( g ) { c = a . p . colModel [ g ] . name ; if ( c !== "cb" && c !== "subgrid" ) if ( d == "dirty" ) { if ( b ( this ) . hasClass ( "dirty-cell" ) ) try { e [ c ] = b . unformat ( this , { rowId : a . rows [ h ] . id , colModel : a . p . colModel [ g ] } ,
g ) } catch ( i ) { e [ c ] = b . jgrid . htmlDecode ( b ( this ) . html ( ) ) } } else try { e [ c ] = b . unformat ( this , { rowId : a . rows [ h ] . id , colModel : a . p . colModel [ g ] } , g ) } catch ( k ) { e [ c ] = b . jgrid . htmlDecode ( b ( this ) . html ( ) ) } } ) ; e . id = this . id ; f . push ( e ) } } ) } ) ; return f } } ) } ) ( jQuery ) ;
( function ( b ) { b . fn . jqm = function ( a ) { var f = { overlay : 50 , closeoverlay : true , overlayClass : "jqmOverlay" , closeClass : "jqmClose" , trigger : ".jqModal" , ajax : e , ajaxText : "" , target : e , modal : e , toTop : e , onShow : e , onHide : e , onLoad : e } ; return this . each ( function ( ) { if ( this . _jqm ) return j [ this . _jqm ] . c = b . extend ( { } , j [ this . _jqm ] . c , a ) ; l ++ ; this . _jqm = l ; j [ l ] = { c : b . extend ( f , b . jqm . params , a ) , a : e , w : b ( this ) . addClass ( "jqmID" + l ) , s : l } ; f . trigger && b ( this ) . jqmAddTrigger ( f . trigger ) } ) } ; b . fn . jqmAddClose = function ( a ) { return o ( this , a , "jqmHide" ) } ; b . fn . jqmAddTrigger =
function ( a ) { return o ( this , a , "jqmShow" ) } ; b . fn . jqmShow = function ( a ) { return this . each ( function ( ) { b . jqm . open ( this . _jqm , a ) } ) } ; b . fn . jqmHide = function ( a ) { return this . each ( function ( ) { b . jqm . close ( this . _jqm , a ) } ) } ; b . jqm = { hash : { } , open : function ( a , f ) { var c = j [ a ] , d = c . c , i = "." + d . closeClass , g = parseInt ( c . w . css ( "z-index" ) ) ; g = g > 0 ? g : 3E3 ; var h = b ( "<div></div>" ) . css ( { height : "100%" , width : "100%" , position : "fixed" , left : 0 , top : 0 , "z-index" : g - 1 , opacity : d . overlay / 100 } ) ; if ( c . a ) return e ; c . t = f ; c . a = true ; c . w . css ( "z-index" , g ) ; if ( d . modal ) { k [ 0 ] ||
setTimeout ( function ( ) { p ( "bind" ) } , 1 ) ; k . push ( a ) } else if ( d . overlay > 0 ) d . closeoverlay && c . w . jqmAddClose ( h ) ; else h = e ; c . o = h ? h . addClass ( d . overlayClass ) . prependTo ( "body" ) : e ; if ( q ) { b ( "html,body" ) . css ( { height : "100%" , width : "100%" } ) ; if ( h ) { h = h . css ( { position : "absolute" } ) [ 0 ] ; for ( var m in { Top : 1 , Left : 1 } ) h . style . setExpression ( m . toLowerCase ( ) , "(_=(document.documentElement.scroll" + m + " || document.body.scroll" + m + "))+'px'" ) } } if ( d . ajax ) { g = d . target || c . w ; h = d . ajax ; g = typeof g == "string" ? b ( g , c . w ) : b ( g ) ; h = h . substr ( 0 , 1 ) == "@" ? b ( f ) . attr ( h . substring ( 1 ) ) :
h ; g . html ( d . ajaxText ) . load ( h , function ( ) { d . onLoad && d . onLoad . call ( this , c ) ; i && c . w . jqmAddClose ( b ( i , c . w ) ) ; r ( c ) } ) } else i && c . w . jqmAddClose ( b ( i , c . w ) ) ; d . toTop && c . o && c . w . before ( '<span id="jqmP' + c . w [ 0 ] . _jqm + '"></span>' ) . insertAfter ( c . o ) ; d . onShow ? d . onShow ( c ) : c . w . show ( ) ; r ( c ) ; return e } , close : function ( a ) { a = j [ a ] ; if ( ! a . a ) return e ; a . a = e ; if ( k [ 0 ] ) { k . pop ( ) ; k [ 0 ] || p ( "unbind" ) } a . c . toTop && a . o && b ( "#jqmP" + a . w [ 0 ] . _jqm ) . after ( a . w ) . remove ( ) ; if ( a . c . onHide ) a . c . onHide ( a ) ; else { a . w . hide ( ) ; a . o && a . o . remove ( ) } return e } , params : { } } ; var l =
0 , j = b . jqm . hash , k = [ ] , q = b . browser . msie && b . browser . version == "6.0" , e = false , r = function ( a ) { var f = b ( '<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>' ) . css ( { opacity : 0 } ) ; if ( q ) if ( a . o ) a . o . html ( '<p style="width:100%;height:100%"/>' ) . prepend ( f ) ; else b ( "iframe.jqm" , a . w ) [ 0 ] || a . w . prepend ( f ) ; s ( a ) } , s = function ( a ) { try { b ( ":input:visible" , a . w ) [ 0 ] . focus ( ) } catch ( f ) { } } , p = function ( a ) { b ( document ) [ a ] ( "keypress" , n ) [ a ] ( "keydown" , n ) [ a ] ( "mousedown" , n ) } , n = function ( a ) { var f = j [ k [ k . length - 1 ] ] ; ( a = ! b ( a . target ) . parents ( ".jqmID" +
f . s ) [ 0 ] ) && s ( f ) ; return ! a } , o = function ( a , f , c ) { return a . each ( function ( ) { var d = this . _jqm ; b ( f ) . each ( function ( ) { if ( ! this [ c ] ) { this [ c ] = [ ] ; b ( this ) . click ( function ( ) { for ( var i in { jqmShow : 1 , jqmHide : 1 } ) for ( var g in this [ i ] ) if ( j [ this [ i ] [ g ] ] ) j [ this [ i ] [ g ] ] . w [ i ] ( this ) ; return e } ) } this [ c ] . push ( d ) } ) } ) } } ) ( jQuery ) ;
( function ( b ) { b . fn . jqDrag = function ( a ) { return l ( this , a , "d" ) } ; b . fn . jqResize = function ( a , e ) { return l ( this , a , "r" , e ) } ; b . jqDnR = { dnr : { } , e : 0 , drag : function ( a ) { if ( c . k == "d" ) d . css ( { left : c . X + a . pageX - c . pX , top : c . Y + a . pageY - c . pY } ) ; else { d . css ( { width : Math . max ( a . pageX - c . pX + c . W , 0 ) , height : Math . max ( a . pageY - c . pY + c . H , 0 ) } ) ; M1 && f . css ( { width : Math . max ( a . pageX - M1 . pX + M1 . W , 0 ) , height : Math . max ( a . pageY - M1 . pY + M1 . H , 0 ) } ) } return false } , stop : function ( ) { b ( document ) . unbind ( "mousemove" , i . drag ) . unbind ( "mouseup" , i . stop ) } } ; var i = b . jqDnR , c = i . dnr ,
d = i . e , f , l = function ( a , e , n , m ) { return a . each ( function ( ) { e = e ? b ( e , a ) : a ; e . bind ( "mousedown" , { e : a , k : n } , function ( g ) { var j = g . data , h = { } ; d = j . e ; f = m ? b ( m ) : false ; if ( d . css ( "position" ) != "relative" ) try { d . position ( h ) } catch ( o ) { } c = { X : h . left || k ( "left" ) || 0 , Y : h . top || k ( "top" ) || 0 , W : k ( "width" ) || d [ 0 ] . scrollWidth || 0 , H : k ( "height" ) || d [ 0 ] . scrollHeight || 0 , pX : g . pageX , pY : g . pageY , k : j . k } ; M1 = f && j . k != "d" ? { X : h . left || f1 ( "left" ) || 0 , Y : h . top || f1 ( "top" ) || 0 , W : f [ 0 ] . offsetWidth || f1 ( "width" ) || 0 , H : f [ 0 ] . offsetHeight || f1 ( "height" ) || 0 , pX : g . pageX , pY : g . pageY ,
k : j . k } : false ; if ( b ( "input.hasDatepicker" , d [ 0 ] ) [ 0 ] ) try { b ( "input.hasDatepicker" , d [ 0 ] ) . datepicker ( "hide" ) } catch ( p ) { } b ( document ) . mousemove ( b . jqDnR . drag ) . mouseup ( b . jqDnR . stop ) ; return false } ) } ) } , k = function ( a ) { return parseInt ( d . css ( a ) ) || false } ; f1 = function ( a ) { return parseInt ( f . css ( a ) ) || false } } ) ( jQuery ) ;
( function ( b ) { b . jgrid . extend ( { setSubGrid : function ( ) { return this . each ( function ( ) { var f ; this . p . subGridOptions = b . extend ( { plusicon : "ui-icon-plus" , minusicon : "ui-icon-minus" , openicon : "ui-icon-carat-1-sw" , expandOnLoad : false , delayOnLoad : 50 , selectOnExpand : false , reloadOnExpand : true } , this . p . subGridOptions || { } ) ; this . p . colNames . unshift ( "" ) ; this . p . colModel . unshift ( { name : "subgrid" , width : b . browser . safari ? this . p . subGridWidth + this . p . cellLayout : this . p . subGridWidth , sortable : false , resizable : false , hidedlg : true , search : false ,
fixed : true } ) ; f = this . p . subGridModel ; if ( f [ 0 ] ) { f [ 0 ] . align = b . extend ( [ ] , f [ 0 ] . align || [ ] ) ; for ( var d = 0 ; d < f [ 0 ] . name . length ; d ++ ) f [ 0 ] . align [ d ] = f [ 0 ] . align [ d ] || "left" } } ) } , addSubGridCell : function ( f , d ) { var a = "" , n , s ; this . each ( function ( ) { a = this . formatCol ( f , d ) ; s = this . p . id ; n = this . p . subGridOptions . plusicon } ) ; return '<td role="grid" aria-describedby="' + s + '_subgrid" class="ui-sgcollapsed sgcollapsed" ' + a + "><a href='javascript:void(0);'><span class='ui-icon " + n + "'></span></a></td>" } , addSubGrid : function ( f , d ) { return this . each ( function ( ) { var a =
this ; if ( a . grid ) { var n = function ( g , j , e ) { j = b ( "<td align='" + a . p . subGridModel [ 0 ] . align [ e ] + "'></td>" ) . html ( j ) ; b ( g ) . append ( j ) } , s = function ( g , j ) { var e , c , h , k = b ( "<table cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>" ) , i = b ( "<tr></tr>" ) ; for ( c = 0 ; c < a . p . subGridModel [ 0 ] . name . length ; c ++ ) { e = b ( "<th class='ui-state-default ui-th-subgrid ui-th-column ui-th-" + a . p . direction + "'></th>" ) ; b ( e ) . html ( a . p . subGridModel [ 0 ] . name [ c ] ) ; b ( e ) . width ( a . p . subGridModel [ 0 ] . width [ c ] ) ; b ( i ) . append ( e ) } b ( k ) . append ( i ) ; if ( g ) { h =
a . p . xmlReader . subgrid ; b ( h . root + " " + h . row , g ) . each ( function ( ) { i = b ( "<tr class='ui-widget-content ui-subtblcell'></tr>" ) ; if ( h . repeatitems === true ) b ( h . cell , this ) . each ( function ( m ) { n ( i , b ( this ) . text ( ) || " " , m ) } ) ; else { var o = a . p . subGridModel [ 0 ] . mapping || a . p . subGridModel [ 0 ] . name ; if ( o ) for ( c = 0 ; c < o . length ; c ++ ) n ( i , b ( o [ c ] , this ) . text ( ) || " " , c ) } b ( k ) . append ( i ) } ) } e = b ( "table:first" , a . grid . bDiv ) . attr ( "id" ) + "_" ; b ( "#" + e + j ) . append ( k ) ; a . grid . hDiv . loading = false ; b ( "#load_" + a . p . id ) . hide ( ) ; return false } , v = function ( g , j ) { var e ,
c , h , k , i , o = b ( "<table cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>" ) , m = b ( "<tr></tr>" ) ; for ( c = 0 ; c < a . p . subGridModel [ 0 ] . name . length ; c ++ ) { e = b ( "<th class='ui-state-default ui-th-subgrid ui-th-column ui-th-" + a . p . direction + "'></th>" ) ; b ( e ) . html ( a . p . subGridModel [ 0 ] . name [ c ] ) ; b ( e ) . width ( a . p . subGridModel [ 0 ] . width [ c ] ) ; b ( m ) . append ( e ) } b ( o ) . append ( m ) ; if ( g ) { k = a . p . jsonReader . subgrid ; e = g [ k . root ] ; if ( typeof e !== "undefined" ) for ( c = 0 ; c < e . length ; c ++ ) { h = e [ c ] ; m = b ( "<tr class='ui-widget-content ui-subtblcell'></tr>" ) ;
if ( k . repeatitems === true ) { if ( k . cell ) h = h [ k . cell ] ; for ( i = 0 ; i < h . length ; i ++ ) n ( m , h [ i ] || " " , i ) } else { var u = a . p . subGridModel [ 0 ] . mapping || a . p . subGridModel [ 0 ] . name ; if ( u . length ) for ( i = 0 ; i < u . length ; i ++ ) n ( m , h [ u [ i ] ] || " " , i ) } b ( o ) . append ( m ) } } c = b ( "table:first" , a . grid . bDiv ) . attr ( "id" ) + "_" ; b ( "#" + c + j ) . append ( o ) ; a . grid . hDiv . loading = false ; b ( "#load_" + a . p . id ) . hide ( ) ; return false } , z = function ( g ) { var j , e , c , h ; j = b ( g ) . attr ( "id" ) ; e = { nd _ : ( new Date ) . getTime ( ) } ; e [ a . p . prmNames . subgridid ] = j ; if ( ! a . p . subGridModel [ 0 ] ) return false ;
if ( a . p . subGridModel [ 0 ] . params ) for ( h = 0 ; h < a . p . subGridModel [ 0 ] . params . length ; h ++ ) for ( c = 0 ; c < a . p . colModel . length ; c ++ ) if ( a . p . colModel [ c ] . name == a . p . subGridModel [ 0 ] . params [ h ] ) e [ a . p . colModel [ c ] . name ] = b ( "td:eq(" + c + ")" , g ) . text ( ) . replace ( /\ \;/ig , "" ) ; if ( ! a . grid . hDiv . loading ) { a . grid . hDiv . loading = true ; b ( "#load_" + a . p . id ) . show ( ) ; if ( ! a . p . subgridtype ) a . p . subgridtype = a . p . datatype ; if ( b . isFunction ( a . p . subgridtype ) ) a . p . subgridtype . call ( a , e ) ; else a . p . subgridtype = a . p . subgridtype . toLowerCase ( ) ; switch ( a . p . subgridtype ) { case "xml" : case "json" : b . ajax ( b . extend ( { type : a . p . mtype ,
url : a . p . subGridUrl , dataType : a . p . subgridtype , data : b . isFunction ( a . p . serializeSubGridData ) ? a . p . serializeSubGridData . call ( a , e ) : e , complete : function ( k ) { a . p . subgridtype == "xml" ? s ( k . responseXML , j ) : v ( b . jgrid . parse ( k . responseText ) , j ) } } , b . jgrid . ajaxOptions , a . p . ajaxSubgridOptions || { } ) ) } } return false } , l , t , w , x = 0 , p , q ; b . each ( a . p . colModel , function ( ) { if ( this . hidden === true || this . name == "rn" || this . name == "cb" ) x ++ } ) ; var y = a . rows . length , r = 1 ; if ( d !== undefined && d > 0 ) { r = d ; y = d + 1 } for ( ; r < y ; ) { b ( a . rows [ r ] ) . hasClass ( "jqgrow" ) && b ( a . rows [ r ] . cells [ f ] ) . bind ( "click" ,
function ( ) { var g = b ( this ) . parent ( "tr" ) [ 0 ] ; q = g . nextSibling ; if ( b ( this ) . hasClass ( "sgcollapsed" ) ) { t = a . p . id ; l = g . id ; if ( a . p . subGridOptions . reloadOnExpand === true || a . p . subGridOptions . reloadOnExpand === false && ! b ( q ) . hasClass ( "ui-subgrid" ) ) { w = f >= 1 ? "<td colspan='" + f + "'> </td>" : "" ; p = true ; if ( b . isFunction ( a . p . subGridBeforeExpand ) ) p = a . p . subGridBeforeExpand . call ( a , t + "_" + l , l ) ; if ( p === false ) return false ; b ( g ) . after ( "<tr role='row' class='ui-subgrid'>" + w + "<td class='ui-widget-content subgrid-cell'><span class='ui-icon " +
a . p . subGridOptions . openicon + "'></span></td><td colspan='" + parseInt ( a . p . colNames . length - 1 - x , 10 ) + "' class='ui-widget-content subgrid-data'><div id=" + t + "_" + l + " class='tablediv'></div></td></tr>" ) ; b . isFunction ( a . p . subGridRowExpanded ) ? a . p . subGridRowExpanded . call ( a , t + "_" + l , l ) : z ( g ) } else b ( q ) . show ( ) ; b ( this ) . html ( "<a href='javascript:void(0);'><span class='ui-icon " + a . p . subGridOptions . minusicon + "'></span></a>" ) . removeClass ( "sgcollapsed" ) . addClass ( "sgexpanded" ) ; a . p . subGridOptions . selectOnExpand && b ( a ) . jqGrid ( "setSelection" ,
l ) } else if ( b ( this ) . hasClass ( "sgexpanded" ) ) { p = true ; if ( b . isFunction ( a . p . subGridRowColapsed ) ) { l = g . id ; p = a . p . subGridRowColapsed . call ( a , t + "_" + l , l ) } if ( p === false ) return false ; if ( a . p . subGridOptions . reloadOnExpand === true ) b ( q ) . remove ( ".ui-subgrid" ) ; else b ( q ) . hasClass ( "ui-subgrid" ) && b ( q ) . hide ( ) ; b ( this ) . html ( "<a href='javascript:void(0);'><span class='ui-icon " + a . p . subGridOptions . plusicon + "'></span></a>" ) . removeClass ( "sgexpanded" ) . addClass ( "sgcollapsed" ) } return false } ) ; a . p . subGridOptions . expandOnLoad === true &&
b ( a . rows [ r ] . cells [ f ] ) . trigger ( "click" ) ; r ++ } a . subGridXml = function ( g , j ) { s ( g , j ) } ; a . subGridJson = function ( g , j ) { v ( g , j ) } } } ) } , expandSubGridRow : function ( f ) { return this . each ( function ( ) { if ( this . grid || f ) if ( this . p . subGrid === true ) { var d = b ( this ) . jqGrid ( "getInd" , f , true ) ; if ( d ) ( d = b ( "td.sgcollapsed" , d ) [ 0 ] ) && b ( d ) . trigger ( "click" ) } } ) } , collapseSubGridRow : function ( f ) { return this . each ( function ( ) { if ( this . grid || f ) if ( this . p . subGrid === true ) { var d = b ( this ) . jqGrid ( "getInd" , f , true ) ; if ( d ) ( d = b ( "td.sgexpanded" , d ) [ 0 ] ) && b ( d ) . trigger ( "click" ) } } ) } ,
toggleSubGridRow : function ( f ) { return this . each ( function ( ) { if ( this . grid || f ) if ( this . p . subGrid === true ) { var d = b ( this ) . jqGrid ( "getInd" , f , true ) ; if ( d ) { var a = b ( "td.sgcollapsed" , d ) [ 0 ] ; if ( a ) b ( a ) . trigger ( "click" ) ; else ( a = b ( "td.sgexpanded" , d ) [ 0 ] ) && b ( a ) . trigger ( "click" ) } } } ) } } ) } ) ( jQuery ) ;
( function ( e ) { e . jgrid . extend ( { groupingSetup : function ( ) { return this . each ( function ( ) { var a = this . p . groupingView ; if ( a !== null && ( typeof a === "object" || e . isFunction ( a ) ) ) if ( a . groupField . length ) { if ( typeof a . visibiltyOnNextGrouping == "undefined" ) a . visibiltyOnNextGrouping = [ ] ; for ( var c = 0 ; c < a . groupField . length ; c ++ ) { a . groupOrder [ c ] || ( a . groupOrder [ c ] = "asc" ) ; a . groupText [ c ] || ( a . groupText [ c ] = "{0}" ) ; if ( typeof a . groupColumnShow [ c ] != "boolean" ) a . groupColumnShow [ c ] = true ; if ( typeof a . groupSummary [ c ] != "boolean" ) a . groupSummary [ c ] =
false ; if ( a . groupColumnShow [ c ] === true ) { a . visibiltyOnNextGrouping [ c ] = true ; e ( this ) . jqGrid ( "showCol" , a . groupField [ c ] ) } else { a . visibiltyOnNextGrouping [ c ] = e ( "#" + this . p . id + "_" + a . groupField [ c ] ) . is ( ":visible" ) ; e ( this ) . jqGrid ( "hideCol" , a . groupField [ c ] ) } a . sortitems [ c ] = [ ] ; a . sortnames [ c ] = [ ] ; a . summaryval [ c ] = [ ] ; if ( a . groupSummary [ c ] ) { a . summary [ c ] = [ ] ; for ( var b = this . p . colModel , d = 0 , g = b . length ; d < g ; d ++ ) b [ d ] . summaryType && a . summary [ c ] . push ( { nm : b [ d ] . name , st : b [ d ] . summaryType , v : "" } ) } } this . p . scroll = false ; this . p . rownumbers = false ;
this . p . subGrid = false ; this . p . treeGrid = false ; this . p . gridview = true } else this . p . grouping = false ; else this . p . grouping = false } ) } , groupingPrepare : function ( a , c , b , d ) { this . each ( function ( ) { c [ 0 ] += "" ; var g = c [ 0 ] . toString ( ) . split ( " " ) . join ( "" ) , h = this . p . groupingView , f = this ; if ( b . hasOwnProperty ( g ) ) b [ g ] . push ( a ) ; else { b [ g ] = [ ] ; b [ g ] . push ( a ) ; h . sortitems [ 0 ] . push ( g ) ; h . sortnames [ 0 ] . push ( e . trim ( c [ 0 ] . toString ( ) ) ) ; h . summaryval [ 0 ] [ g ] = e . extend ( true , [ ] , h . summary [ 0 ] ) } h . groupSummary [ 0 ] && e . each ( h . summaryval [ 0 ] [ g ] , function ( ) { this . v = e . isFunction ( this . st ) ?
this . st . call ( f , this . v , this . nm , d ) : e ( f ) . jqGrid ( "groupingCalculations." + this . st , this . v , this . nm , d ) } ) } ) ; return b } , groupingToggle : function ( a ) { this . each ( function ( ) { var c = this . p . groupingView , b = a . lastIndexOf ( "_" ) , d = a . substring ( 0 , b + 1 ) ; b = parseInt ( a . substring ( b + 1 ) , 10 ) + 1 ; var g = c . minusicon , h = c . plusicon , f = e ( "#" + a ) ; f = f . length ? f [ 0 ] . nextSibling : null ; var k = e ( "#" + a + " span.tree-wrap-" + this . p . direction ) , l = false ; if ( k . hasClass ( g ) ) { if ( c . showSummaryOnHide && c . groupSummary [ 0 ] ) { if ( f ) for ( ; f ; ) { if ( e ( f ) . hasClass ( "jqfoot" ) ) break ;
e ( f ) . hide ( ) ; f = f . nextSibling } } else if ( f ) for ( ; f ; ) { if ( e ( f ) . attr ( "id" ) == d + String ( b ) ) break ; e ( f ) . hide ( ) ; f = f . nextSibling } k . removeClass ( g ) . addClass ( h ) ; l = true } else { if ( f ) for ( ; f ; ) { if ( e ( f ) . attr ( "id" ) == d + String ( b ) ) break ; e ( f ) . show ( ) ; f = f . nextSibling } k . removeClass ( h ) . addClass ( g ) } e . isFunction ( this . p . onClickGroup ) && this . p . onClickGroup . call ( this , a , l ) } ) ; return false } , groupingRender : function ( a , c ) { return this . each ( function ( ) { var b = this , d = b . p . groupingView , g = "" , h = "" , f , k = d . groupCollapse ? d . plusicon : d . minusicon , l , r , m ; if ( ! d . groupDataSorted ) { d . sortitems [ 0 ] . sort ( ) ;
d . sortnames [ 0 ] . sort ( ) ; if ( d . groupOrder [ 0 ] . toLowerCase ( ) == "desc" ) { d . sortitems [ 0 ] . reverse ( ) ; d . sortnames [ 0 ] . reverse ( ) } } k += " tree-wrap-" + b . p . direction ; for ( m = 0 ; m < c ; ) { if ( b . p . colModel [ m ] . name == d . groupField [ 0 ] ) { r = m ; break } m ++ } e . each ( d . sortitems [ 0 ] , function ( o , n ) { f = b . p . id + "ghead_" + o ; h = "<span style='cursor:pointer;' class='ui-icon " + k + "' onclick=\"jQuery('#" + b . p . id + "').jqGrid('groupingToggle','" + f + "');return false;\"></span>" ; try { l = b . formatter ( f , d . sortnames [ 0 ] [ o ] , r , d . sortitems [ 0 ] ) } catch ( v ) { l = d . sortnames [ 0 ] [ o ] } g +=
'<tr id="' + f + '" role="row" class= "ui-widget-content jqgroup ui-row-' + b . p . direction + '"><td colspan="' + c + '">' + h + e . jgrid . format ( d . groupText [ 0 ] , l , a [ n ] . length ) + "</td></tr>" ; for ( var i = 0 ; i < a [ n ] . length ; i ++ ) g += a [ n ] [ i ] . join ( "" ) ; if ( d . groupSummary [ 0 ] ) { i = "" ; if ( d . groupCollapse && ! d . showSummaryOnHide ) i = ' style="display:none;"' ; g += "<tr" + i + ' role="row" class="ui-widget-content jqfoot ui-row-' + b . p . direction + '">' ; i = d . summaryval [ 0 ] [ n ] ; for ( var p = b . p . colModel , q , s = a [ n ] . length , j = 0 ; j < c ; j ++ ) { var t = "<td " + b . formatCol ( j , 1 , "" ) +
"> </td>" , u = "{0}" ; e . each ( i , function ( ) { if ( this . nm == p [ j ] . name ) { if ( p [ j ] . summaryTpl ) u = p [ j ] . summaryTpl ; if ( this . st == "avg" ) if ( this . v && s > 0 ) this . v /= s ; try { q = b . formatter ( "" , this . v , j , this ) } catch ( w ) { q = this . v } t = "<td " + b . formatCol ( j , 1 , "" ) + ">" + e . jgrid . format ( u , q ) + "</td>" ; return false } } ) ; g += t } g += "</tr>" } } ) ; e ( "#" + b . p . id + " tbody:first" ) . append ( g ) ; g = null } ) } , groupingGroupBy : function ( a , c ) { return this . each ( function ( ) { if ( typeof a == "string" ) a = [ a ] ; var b = this . p . groupingView ; this . p . grouping = true ; if ( typeof b . visibiltyOnNextGrouping ==
"undefined" ) b . visibiltyOnNextGrouping = [ ] ; var d ; for ( d = 0 ; d < b . groupField . length ; d ++ ) ! b . groupColumnShow [ d ] && b . visibiltyOnNextGrouping [ d ] && e ( this ) . jqGrid ( "showCol" , b . groupField [ d ] ) ; for ( d = 0 ; d < a . length ; d ++ ) b . visibiltyOnNextGrouping [ d ] = e ( "#" + this . p . id + "_" + a [ d ] ) . is ( ":visible" ) ; this . p . groupingView = e . extend ( this . p . groupingView , c || { } ) ; b . groupField = a ; e ( this ) . trigger ( "reloadGrid" ) } ) } , groupingRemove : function ( a ) { return this . each ( function ( ) { if ( typeof a == "undefined" ) a = true ; this . p . grouping = false ; if ( a === true ) { for ( var c =
this . p . groupingView , b = 0 ; b < c . groupField . length ; b ++ ) ! c . groupColumnShow [ b ] && c . visibiltyOnNextGrouping [ b ] && e ( this ) . jqGrid ( "showCol" , c . groupField ) ; e ( "tr.jqgroup, tr.jqfoot" , "#" + this . p . id + " tbody:first" ) . remove ( ) ; e ( "tr.jqgrow:hidden" , "#" + this . p . id + " tbody:first" ) . show ( ) } else e ( this ) . trigger ( "reloadGrid" ) } ) } , groupingCalculations : { sum : function ( a , c , b ) { return parseFloat ( a || 0 ) + parseFloat ( b [ c ] || 0 ) } , min : function ( a , c , b ) { if ( a === "" ) return parseFloat ( b [ c ] || 0 ) ; return Math . min ( parseFloat ( a ) , parseFloat ( b [ c ] || 0 ) ) } , max : function ( a ,
c , b ) { if ( a === "" ) return parseFloat ( b [ c ] || 0 ) ; return Math . max ( parseFloat ( a ) , parseFloat ( b [ c ] || 0 ) ) } , count : function ( a , c , b ) { if ( a === "" ) a = 0 ; return b . hasOwnProperty ( c ) ? a + 1 : 0 } , avg : function ( a , c , b ) { return parseFloat ( a || 0 ) + parseFloat ( b [ c ] || 0 ) } } } ) } ) ( jQuery ) ;
( function ( d ) { d . jgrid . extend ( { setTreeNode : function ( a , c ) { return this . each ( function ( ) { var b = this ; if ( b . grid && b . p . treeGrid ) for ( var e = b . p . expColInd , g = b . p . treeReader . expanded _field , h = b . p . treeReader . leaf _field , f = b . p . treeReader . level _field , l = b . p . treeReader . icon _field , i = b . p . treeReader . loaded , j , o , n , k ; a < c ; ) { k = b . p . data [ b . p . _index [ b . rows [ a ] . id ] ] ; if ( b . p . treeGridModel == "nested" ) if ( ! k [ h ] ) { j = parseInt ( k [ b . p . treeReader . left _field ] , 10 ) ; o = parseInt ( k [ b . p . treeReader . right _field ] , 10 ) ; k [ h ] = o === j + 1 ? "true" : "false" ; b . rows [ a ] . cells [ b . p . _treeleafpos ] . innerHTML =
k [ h ] } j = parseInt ( k [ f ] , 10 ) ; if ( b . p . tree _root _level === 0 ) { n = j + 1 ; o = j } else { n = j ; o = j - 1 } n = "<div class='tree-wrap tree-wrap-" + b . p . direction + "' style='width:" + n * 18 + "px;'>" ; n += "<div style='" + ( b . p . direction == "rtl" ? "right:" : "left:" ) + o * 18 + "px;' class='ui-icon " ; if ( k [ i ] !== undefined ) k [ i ] = k [ i ] == "true" || k [ i ] === true ? true : false ; if ( k [ h ] == "true" || k [ h ] === true ) { n += ( k [ l ] !== undefined && k [ l ] !== "" ? k [ l ] : b . p . treeIcons . leaf ) + " tree-leaf treeclick" ; k [ h ] = true ; o = "leaf" } else { k [ h ] = false ; o = "" } k [ g ] = ( k [ g ] == "true" || k [ g ] === true ? true : false ) &&
k [ i ] ; n += k [ g ] === false ? k [ h ] === true ? "'" : b . p . treeIcons . plus + " tree-plus treeclick'" : k [ h ] === true ? "'" : b . p . treeIcons . minus + " tree-minus treeclick'" ; n += "></div></div>" ; d ( b . rows [ a ] . cells [ e ] ) . wrapInner ( "<span class='cell-wrapper" + o + "'></span>" ) . prepend ( n ) ; if ( j !== parseInt ( b . p . tree _root _level , 10 ) ) ( k = ( k = d ( b ) . jqGrid ( "getNodeParent" , k ) ) && k . hasOwnProperty ( g ) ? k [ g ] : true ) || d ( b . rows [ a ] ) . css ( "display" , "none" ) ; d ( b . rows [ a ] . cells [ e ] ) . find ( "div.treeclick" ) . bind ( "click" , function ( m ) { m = d ( m . target || m . srcElement , b . rows ) . closest ( "tr.jqgrow" ) [ 0 ] . id ;
m = b . p . _index [ m ] ; if ( ! b . p . data [ m ] [ h ] ) if ( b . p . data [ m ] [ g ] ) { d ( b ) . jqGrid ( "collapseRow" , b . p . data [ m ] ) ; d ( b ) . jqGrid ( "collapseNode" , b . p . data [ m ] ) } else { d ( b ) . jqGrid ( "expandRow" , b . p . data [ m ] ) ; d ( b ) . jqGrid ( "expandNode" , b . p . data [ m ] ) } return false } ) ; b . p . ExpandColClick === true && d ( b . rows [ a ] . cells [ e ] ) . find ( "span.cell-wrapper" ) . css ( "cursor" , "pointer" ) . bind ( "click" , function ( m ) { m = d ( m . target || m . srcElement , b . rows ) . closest ( "tr.jqgrow" ) [ 0 ] . id ; var r = b . p . _index [ m ] ; if ( ! b . p . data [ r ] [ h ] ) if ( b . p . data [ r ] [ g ] ) { d ( b ) . jqGrid ( "collapseRow" , b . p . data [ r ] ) ;
d ( b ) . jqGrid ( "collapseNode" , b . p . data [ r ] ) } else { d ( b ) . jqGrid ( "expandRow" , b . p . data [ r ] ) ; d ( b ) . jqGrid ( "expandNode" , b . p . data [ r ] ) } d ( b ) . jqGrid ( "setSelection" , m ) ; return false } ) ; a ++ } } ) } , setTreeGrid : function ( ) { return this . each ( function ( ) { var a = this , c = 0 , b = false , e , g , h = [ ] ; if ( a . p . treeGrid ) { a . p . treedatatype || d . extend ( a . p , { treedatatype : a . p . datatype } ) ; a . p . subGrid = false ; a . p . altRows = false ; a . p . pgbuttons = false ; a . p . pginput = false ; a . p . gridview = true ; if ( a . p . rowTotal === null ) a . p . rowNum = 1E4 ; a . p . multiselect = false ; a . p . rowList = [ ] ; a . p . expColInd =
0 ; a . p . treeIcons = d . extend ( { plus : "ui-icon-triangle-1-" + ( a . p . direction == "rtl" ? "w" : "e" ) , minus : "ui-icon-triangle-1-s" , leaf : "ui-icon-radio-off" } , a . p . treeIcons || { } ) ; if ( a . p . treeGridModel == "nested" ) a . p . treeReader = d . extend ( { level _field : "level" , left _field : "lft" , right _field : "rgt" , leaf _field : "isLeaf" , expanded _field : "expanded" , loaded : "loaded" , icon _field : "icon" } , a . p . treeReader ) ; else if ( a . p . treeGridModel == "adjacency" ) a . p . treeReader = d . extend ( { level _field : "level" , parent _id _field : "parent" , leaf _field : "isLeaf" , expanded _field : "expanded" ,
loaded : "loaded" , icon _field : "icon" } , a . p . treeReader ) ; for ( g in a . p . colModel ) if ( a . p . colModel . hasOwnProperty ( g ) ) { e = a . p . colModel [ g ] . name ; if ( e == a . p . ExpandColumn && ! b ) { b = true ; a . p . expColInd = c } c ++ ; for ( var f in a . p . treeReader ) a . p . treeReader [ f ] == e && h . push ( e ) } d . each ( a . p . treeReader , function ( l , i ) { if ( i && d . inArray ( i , h ) === - 1 ) { if ( l === "leaf_field" ) a . p . _treeleafpos = c ; c ++ ; a . p . colNames . push ( i ) ; a . p . colModel . push ( { name : i , width : 1 , hidden : true , sortable : false , resizable : false , hidedlg : true , editable : true , search : false } ) } } ) } } ) } , expandRow : function ( a ) { this . each ( function ( ) { var c =
this ; if ( c . grid && c . p . treeGrid ) { var b = d ( c ) . jqGrid ( "getNodeChildren" , a ) , e = c . p . treeReader . expanded _field ; d ( b ) . each ( function ( ) { var g = d . jgrid . getAccessor ( this , c . p . localReader . id ) ; d ( "#" + g , c . grid . bDiv ) . css ( "display" , "" ) ; this [ e ] && d ( c ) . jqGrid ( "expandRow" , this ) } ) } } ) } , collapseRow : function ( a ) { this . each ( function ( ) { var c = this ; if ( c . grid && c . p . treeGrid ) { var b = d ( c ) . jqGrid ( "getNodeChildren" , a ) , e = c . p . treeReader . expanded _field ; d ( b ) . each ( function ( ) { var g = d . jgrid . getAccessor ( this , c . p . localReader . id ) ; d ( "#" + g , c . grid . bDiv ) . css ( "display" ,
"none" ) ; this [ e ] && d ( c ) . jqGrid ( "collapseRow" , this ) } ) } } ) } , getRootNodes : function ( ) { var a = [ ] ; this . each ( function ( ) { var c = this ; if ( c . grid && c . p . treeGrid ) switch ( c . p . treeGridModel ) { case "nested" : var b = c . p . treeReader . level _field ; d ( c . p . data ) . each ( function ( ) { parseInt ( this [ b ] , 10 ) === parseInt ( c . p . tree _root _level , 10 ) && a . push ( this ) } ) ; break ; case "adjacency" : var e = c . p . treeReader . parent _id _field ; d ( c . p . data ) . each ( function ( ) { if ( this [ e ] === null || String ( this [ e ] ) . toLowerCase ( ) == "null" ) a . push ( this ) } ) } } ) ; return a } , getNodeDepth : function ( a ) { var c =
null ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) switch ( this . p . treeGridModel ) { case "nested" : c = parseInt ( a [ this . p . treeReader . level _field ] , 10 ) - parseInt ( this . p . tree _root _level , 10 ) ; break ; case "adjacency" : c = d ( this ) . jqGrid ( "getNodeAncestors" , a ) . length } } ) ; return c } , getNodeParent : function ( a ) { var c = null ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) switch ( this . p . treeGridModel ) { case "nested" : var b = this . p . treeReader . left _field , e = this . p . treeReader . right _field , g = this . p . treeReader . level _field , h = parseInt ( a [ b ] ,
10 ) , f = parseInt ( a [ e ] , 10 ) , l = parseInt ( a [ g ] , 10 ) ; d ( this . p . data ) . each ( function ( ) { if ( parseInt ( this [ g ] , 10 ) === l - 1 && parseInt ( this [ b ] , 10 ) < h && parseInt ( this [ e ] , 10 ) > f ) { c = this ; return false } } ) ; break ; case "adjacency" : var i = this . p . treeReader . parent _id _field , j = this . p . localReader . id ; d ( this . p . data ) . each ( function ( ) { if ( this [ j ] == a [ i ] ) { c = this ; return false } } ) } } ) ; return c } , getNodeChildren : function ( a ) { var c = [ ] ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) switch ( this . p . treeGridModel ) { case "nested" : var b = this . p . treeReader . left _field ,
e = this . p . treeReader . right _field , g = this . p . treeReader . level _field , h = parseInt ( a [ b ] , 10 ) , f = parseInt ( a [ e ] , 10 ) , l = parseInt ( a [ g ] , 10 ) ; d ( this . p . data ) . each ( function ( ) { parseInt ( this [ g ] , 10 ) === l + 1 && parseInt ( this [ b ] , 10 ) > h && parseInt ( this [ e ] , 10 ) < f && c . push ( this ) } ) ; break ; case "adjacency" : var i = this . p . treeReader . parent _id _field , j = this . p . localReader . id ; d ( this . p . data ) . each ( function ( ) { this [ i ] == a [ j ] && c . push ( this ) } ) } } ) ; return c } , getFullTreeNode : function ( a ) { var c = [ ] ; this . each ( function ( ) { var b ; if ( this . grid && this . p . treeGrid ) switch ( this . p . treeGridModel ) { case "nested" : var e =
this . p . treeReader . left _field , g = this . p . treeReader . right _field , h = this . p . treeReader . level _field , f = parseInt ( a [ e ] , 10 ) , l = parseInt ( a [ g ] , 10 ) , i = parseInt ( a [ h ] , 10 ) ; d ( this . p . data ) . each ( function ( ) { parseInt ( this [ h ] , 10 ) >= i && parseInt ( this [ e ] , 10 ) >= f && parseInt ( this [ e ] , 10 ) <= l && c . push ( this ) } ) ; break ; case "adjacency" : if ( a ) { c . push ( a ) ; var j = this . p . treeReader . parent _id _field , o = this . p . localReader . id ; d ( this . p . data ) . each ( function ( n ) { b = c . length ; for ( n = 0 ; n < b ; n ++ ) if ( c [ n ] [ o ] == this [ j ] ) { c . push ( this ) ; break } } ) } } } ) ; return c } , getNodeAncestors : function ( a ) { var c =
[ ] ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) for ( var b = d ( this ) . jqGrid ( "getNodeParent" , a ) ; b ; ) { c . push ( b ) ; b = d ( this ) . jqGrid ( "getNodeParent" , b ) } } ) ; return c } , isVisibleNode : function ( a ) { var c = true ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) { var b = d ( this ) . jqGrid ( "getNodeAncestors" , a ) , e = this . p . treeReader . expanded _field ; d ( b ) . each ( function ( ) { c = c && this [ e ] ; if ( ! c ) return false } ) } } ) ; return c } , isNodeLoaded : function ( a ) { var c ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) { var b = this . p . treeReader . leaf _field ;
c = a !== undefined ? a . loaded !== undefined ? a . loaded : a [ b ] || d ( this ) . jqGrid ( "getNodeChildren" , a ) . length > 0 ? true : false : false } } ) ; return c } , expandNode : function ( a ) { return this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) { var c = this . p . treeReader . expanded _field , b = this . p . treeReader . parent _id _field , e = this . p . treeReader . loaded , g = this . p . treeReader . level _field , h = this . p . treeReader . left _field , f = this . p . treeReader . right _field ; if ( ! a [ c ] ) { var l = d . jgrid . getAccessor ( a , this . p . localReader . id ) , i = d ( "#" + l , this . grid . bDiv ) [ 0 ] , j = this . p . _index [ l ] ;
if ( d ( this ) . jqGrid ( "isNodeLoaded" , this . p . data [ j ] ) ) { a [ c ] = true ; d ( "div.treeclick" , i ) . removeClass ( this . p . treeIcons . plus + " tree-plus" ) . addClass ( this . p . treeIcons . minus + " tree-minus" ) } else { a [ c ] = true ; d ( "div.treeclick" , i ) . removeClass ( this . p . treeIcons . plus + " tree-plus" ) . addClass ( this . p . treeIcons . minus + " tree-minus" ) ; this . p . treeANode = i . rowIndex ; this . p . datatype = this . p . treedatatype ; this . p . treeGridModel == "nested" ? d ( this ) . jqGrid ( "setGridParam" , { postData : { nodeid : l , n _left : a [ h ] , n _right : a [ f ] , n _level : a [ g ] } } ) : d ( this ) . jqGrid ( "setGridParam" ,
{ postData : { nodeid : l , parentid : a [ b ] , n _level : a [ g ] } } ) ; d ( this ) . trigger ( "reloadGrid" ) ; a [ e ] = true ; this . p . treeGridModel == "nested" ? d ( this ) . jqGrid ( "setGridParam" , { postData : { nodeid : "" , n _left : "" , n _right : "" , n _level : "" } } ) : d ( this ) . jqGrid ( "setGridParam" , { postData : { nodeid : "" , parentid : "" , n _level : "" } } ) } } } } ) } , collapseNode : function ( a ) { return this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) { var c = this . p . treeReader . expanded _field ; if ( a [ c ] ) { a [ c ] = false ; c = d . jgrid . getAccessor ( a , this . p . localReader . id ) ; c = d ( "#" + c , this . grid . bDiv ) [ 0 ] ;
d ( "div.treeclick" , c ) . removeClass ( this . p . treeIcons . minus + " tree-minus" ) . addClass ( this . p . treeIcons . plus + " tree-plus" ) } } } ) } , SortTree : function ( a , c , b , e ) { return this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) { var g , h , f , l = [ ] , i = this , j ; g = d ( this ) . jqGrid ( "getRootNodes" ) ; g = d . jgrid . from ( g ) ; g . orderBy ( a , c , b , e ) ; j = g . select ( ) ; g = 0 ; for ( h = j . length ; g < h ; g ++ ) { f = j [ g ] ; l . push ( f ) ; d ( this ) . jqGrid ( "collectChildrenSortTree" , l , f , a , c , b , e ) } d . each ( l , function ( o ) { var n = d . jgrid . getAccessor ( this , i . p . localReader . id ) ; d ( "#" + i . p . id + " tbody tr:eq(" +
o + ")" ) . after ( d ( "tr#" + n , i . grid . bDiv ) ) } ) ; l = j = g = null } } ) } , collectChildrenSortTree : function ( a , c , b , e , g , h ) { return this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) { var f , l , i , j ; f = d ( this ) . jqGrid ( "getNodeChildren" , c ) ; f = d . jgrid . from ( f ) ; f . orderBy ( b , e , g , h ) ; j = f . select ( ) ; f = 0 ; for ( l = j . length ; f < l ; f ++ ) { i = j [ f ] ; a . push ( i ) ; d ( this ) . jqGrid ( "collectChildrenSortTree" , a , i , b , e , g , h ) } } } ) } , setTreeRow : function ( a , c ) { var b = false ; this . each ( function ( ) { if ( this . grid && this . p . treeGrid ) b = d ( this ) . jqGrid ( "setRowData" , a , c ) } ) ; return b } , delTreeNode : function ( a ) { return this . each ( function ( ) { var c =
this . p . localReader . id , b = this . p . treeReader . left _field , e = this . p . treeReader . right _field , g , h , f ; if ( this . grid && this . p . treeGrid ) { var l = this . p . _index [ a ] ; if ( l !== undefined ) { g = parseInt ( this . p . data [ l ] [ e ] , 10 ) ; h = g - parseInt ( this . p . data [ l ] [ b ] , 10 ) + 1 ; l = d ( this ) . jqGrid ( "getFullTreeNode" , this . p . data [ l ] ) ; if ( l . length > 0 ) for ( var i = 0 ; i < l . length ; i ++ ) d ( this ) . jqGrid ( "delRowData" , l [ i ] [ c ] ) ; if ( this . p . treeGridModel === "nested" ) { c = d . jgrid . from ( this . p . data ) . greater ( b , g , { stype : "integer" } ) . select ( ) ; if ( c . length ) for ( f in c ) c [ f ] [ b ] = parseInt ( c [ f ] [ b ] ,
10 ) - h ; c = d . jgrid . from ( this . p . data ) . greater ( e , g , { stype : "integer" } ) . select ( ) ; if ( c . length ) for ( f in c ) c [ f ] [ e ] = parseInt ( c [ f ] [ e ] , 10 ) - h } } } } ) } , addChildNode : function ( a , c , b ) { var e = this [ 0 ] ; if ( b ) { var g = e . p . treeReader . expanded _field , h = e . p . treeReader . leaf _field , f = e . p . treeReader . level _field , l = e . p . treeReader . parent _id _field , i = e . p . treeReader . left _field , j = e . p . treeReader . right _field , o = e . p . treeReader . loaded , n , k , m , r , p ; n = 0 ; var s = c , t ; if ( typeof a === "undefined" || a === null ) { p = e . p . data . length - 1 ; if ( p >= 0 ) for ( ; p >= 0 ; ) { n = Math . max ( n ,
parseInt ( e . p . data [ p ] [ e . p . localReader . id ] , 10 ) ) ; p -- } a = n + 1 } var u = d ( e ) . jqGrid ( "getInd" , c ) ; t = false ; if ( c === undefined || c === null || c === "" ) { s = c = null ; n = "last" ; r = e . p . tree _root _level ; p = e . p . data . length + 1 } else { n = "after" ; k = e . p . _index [ c ] ; m = e . p . data [ k ] ; c = m [ e . p . localReader . id ] ; r = parseInt ( m [ f ] , 10 ) + 1 ; p = d ( e ) . jqGrid ( "getFullTreeNode" , m ) ; if ( p . length ) { s = p = p [ p . length - 1 ] [ e . p . localReader . id ] ; p = d ( e ) . jqGrid ( "getInd" , s ) + 1 } else p = d ( e ) . jqGrid ( "getInd" , c ) + 1 ; if ( m [ h ] ) { t = true ; m [ g ] = true ; d ( e . rows [ u ] ) . find ( "span.cell-wrapperleaf" ) . removeClass ( "cell-wrapperleaf" ) . addClass ( "cell-wrapper" ) . end ( ) . find ( "div.tree-leaf" ) . removeClass ( e . p . treeIcons . leaf +
" tree-leaf" ) . addClass ( e . p . treeIcons . minus + " tree-minus" ) ; e . p . data [ k ] [ h ] = false ; m [ o ] = true } } k = p + 1 ; b [ g ] = false ; b [ o ] = true ; b [ f ] = r ; b [ h ] = true ; if ( e . p . treeGridModel === "adjacency" ) b [ l ] = c ; if ( e . p . treeGridModel === "nested" ) { var q ; if ( c !== null ) { h = parseInt ( m [ j ] , 10 ) ; f = d . jgrid . from ( e . p . data ) ; f = f . greaterOrEquals ( j , h , { stype : "integer" } ) ; f = f . select ( ) ; if ( f . length ) for ( q in f ) { f [ q ] [ i ] = f [ q ] [ i ] > h ? parseInt ( f [ q ] [ i ] , 10 ) + 2 : f [ q ] [ i ] ; f [ q ] [ j ] = f [ q ] [ j ] >= h ? parseInt ( f [ q ] [ j ] , 10 ) + 2 : f [ q ] [ j ] } b [ i ] = h ; b [ j ] = h + 1 } else { h = parseInt ( d ( e ) . jqGrid ( "getCol" ,
j , false , "max" ) , 10 ) ; f = d . jgrid . from ( e . p . data ) . greater ( i , h , { stype : "integer" } ) . select ( ) ; if ( f . length ) for ( q in f ) f [ q ] [ i ] = parseInt ( f [ q ] [ i ] , 10 ) + 2 ; f = d . jgrid . from ( e . p . data ) . greater ( j , h , { stype : "integer" } ) . select ( ) ; if ( f . length ) for ( q in f ) f [ q ] [ j ] = parseInt ( f [ q ] [ j ] , 10 ) + 2 ; b [ i ] = h + 1 ; b [ j ] = h + 2 } } if ( c === null || d ( e ) . jqGrid ( "isNodeLoaded" , m ) || t ) { d ( e ) . jqGrid ( "addRowData" , a , b , n , s ) ; d ( e ) . jqGrid ( "setTreeNode" , p , k ) } m && ! m [ g ] && d ( e . rows [ u ] ) . find ( "div.treeclick" ) . click ( ) } } } ) } ) ( jQuery ) ;
( function ( b ) { b . jgrid . extend ( { jqGridImport : function ( a ) { a = b . extend ( { imptype : "xml" , impstring : "" , impurl : "" , mtype : "GET" , impData : { } , xmlGrid : { config : "roots>grid" , data : "roots>rows" } , jsonGrid : { config : "grid" , data : "data" } , ajaxOptions : { } } , a || { } ) ; return this . each ( function ( ) { var d = this , c = function ( f , g ) { var e = b ( g . xmlGrid . config , f ) [ 0 ] , h = b ( g . xmlGrid . data , f ) [ 0 ] , i ; if ( xmlJsonClass . xml2json && b . jgrid . parse ) { e = xmlJsonClass . xml2json ( e , " " ) ; e = b . jgrid . parse ( e ) ; for ( var l in e ) if ( e . hasOwnProperty ( l ) ) i = e [ l ] ; if ( h ) { h = e . grid . datatype ;
e . grid . datatype = "xmlstring" ; e . grid . datastr = f ; b ( d ) . jqGrid ( i ) . jqGrid ( "setGridParam" , { datatype : h } ) } else b ( d ) . jqGrid ( i ) } else alert ( "xml2json or parse are not present" ) } , j = function ( f , g ) { if ( f && typeof f == "string" ) { var e = b . jgrid . parse ( f ) , h = e [ g . jsonGrid . config ] ; if ( e = e [ g . jsonGrid . data ] ) { var i = h . datatype ; h . datatype = "jsonstring" ; h . datastr = e ; b ( d ) . jqGrid ( h ) . jqGrid ( "setGridParam" , { datatype : i } ) } else b ( d ) . jqGrid ( h ) } } ; switch ( a . imptype ) { case "xml" : b . ajax ( b . extend ( { url : a . impurl , type : a . mtype , data : a . impData , dataType : "xml" ,
complete : function ( f , g ) { if ( g == "success" ) { c ( f . responseXML , a ) ; b . isFunction ( a . importComplete ) && a . importComplete ( f ) } } } , a . ajaxOptions ) ) ; break ; case "xmlstring" : if ( a . impstring && typeof a . impstring == "string" ) { var k = b . jgrid . stringToDoc ( a . impstring ) ; if ( k ) { c ( k , a ) ; b . isFunction ( a . importComplete ) && a . importComplete ( k ) ; a . impstring = null } k = null } break ; case "json" : b . ajax ( b . extend ( { url : a . impurl , type : a . mtype , data : a . impData , dataType : "json" , complete : function ( f , g ) { if ( g == "success" ) { j ( f . responseText , a ) ; b . isFunction ( a . importComplete ) &&
a . importComplete ( f ) } } } , a . ajaxOptions ) ) ; break ; case "jsonstring" : if ( a . impstring && typeof a . impstring == "string" ) { j ( a . impstring , a ) ; b . isFunction ( a . importComplete ) && a . importComplete ( a . impstring ) ; a . impstring = null } } } ) } , jqGridExport : function ( a ) { a = b . extend ( { exptype : "xmlstring" , root : "grid" , ident : "\t" } , a || { } ) ; var d = null ; this . each ( function ( ) { if ( this . grid ) { var c = b . extend ( { } , b ( this ) . jqGrid ( "getGridParam" ) ) ; if ( c . rownumbers ) { c . colNames . splice ( 0 , 1 ) ; c . colModel . splice ( 0 , 1 ) } if ( c . multiselect ) { c . colNames . splice ( 0 , 1 ) ; c . colModel . splice ( 0 ,
1 ) } if ( c . subGrid ) { c . colNames . splice ( 0 , 1 ) ; c . colModel . splice ( 0 , 1 ) } c . knv = null ; if ( c . treeGrid ) for ( var j in c . treeReader ) if ( c . treeReader . hasOwnProperty ( j ) ) { c . colNames . splice ( c . colNames . length - 1 ) ; c . colModel . splice ( c . colModel . length - 1 ) } switch ( a . exptype ) { case "xmlstring" : d = "<" + a . root + ">" + xmlJsonClass . json2xml ( c , a . ident ) + "</" + a . root + ">" ; break ; case "jsonstring" : d = "{" + xmlJsonClass . toJson ( c , a . root , a . ident , false ) + "}" ; if ( c . postData . filters !== undefined ) { d = d . replace ( /filters":"/ , 'filters":' ) ; d = d . replace ( /}]}"/ , "}]}" ) } } } } ) ;
return d } , excelExport : function ( a ) { a = b . extend ( { exptype : "remote" , url : null , oper : "oper" , tag : "excel" , exportOptions : { } } , a || { } ) ; return this . each ( function ( ) { if ( this . grid ) { var d ; if ( a . exptype == "remote" ) { d = b . extend ( { } , this . p . postData ) ; d [ a . oper ] = a . tag ; d = jQuery . param ( d ) ; d = a . url . indexOf ( "?" ) != - 1 ? a . url + "&" + d : a . url + "?" + d ; window . location = d } } } ) } } ) } ) ( jQuery ) ;
var xmlJsonClass = { xml2json : function ( a , b ) { if ( a . nodeType === 9 ) a = a . documentElement ; var h = this . toJson ( this . toObj ( this . removeWhite ( a ) ) , a . nodeName , "\t" ) ; return "{\n" + b + ( b ? h . replace ( /\t/g , b ) : h . replace ( /\t|\n/g , "" ) ) + "\n}" } , json2xml : function ( a , b ) { var h = function ( d , c , i ) { var g = "" , k , j ; if ( d instanceof Array ) if ( d . length === 0 ) g += i + "<" + c + ">__EMPTY_ARRAY_</" + c + ">\n" ; else { k = 0 ; for ( j = d . length ; k < j ; k += 1 ) { var l = i + h ( d [ k ] , c , i + "\t" ) + "\n" ; g += l } } else if ( typeof d === "object" ) { k = false ; g += i + "<" + c ; for ( j in d ) if ( d . hasOwnProperty ( j ) ) if ( j . charAt ( 0 ) ===
"@" ) g += " " + j . substr ( 1 ) + '="' + d [ j ] . toString ( ) + '"' ; else k = true ; g += k ? ">" : "/>" ; if ( k ) { for ( j in d ) if ( d . hasOwnProperty ( j ) ) if ( j === "#text" ) g += d [ j ] ; else if ( j === "#cdata" ) g += "<![CDATA[" + d [ j ] + "]]\>" ; else if ( j . charAt ( 0 ) !== "@" ) g += h ( d [ j ] , j , i + "\t" ) ; g += ( g . charAt ( g . length - 1 ) === "\n" ? i : "" ) + "</" + c + ">" } } else if ( typeof d === "function" ) g += i + "<" + c + "><![CDATA[" + d + "]]\></" + c + ">" ; else { if ( d === undefined ) d = "" ; g += d . toString ( ) === '""' || d . toString ( ) . length === 0 ? i + "<" + c + ">__EMPTY_STRING_</" + c + ">" : i + "<" + c + ">" + d . toString ( ) + "</" + c + ">" } return g } ,
e = "" , f ; for ( f in a ) if ( a . hasOwnProperty ( f ) ) e += h ( a [ f ] , f , "" ) ; return b ? e . replace ( /\t/g , b ) : e . replace ( /\t|\n/g , "" ) } , toObj : function ( a ) { var b = { } , h = /function/i ; if ( a . nodeType === 1 ) { if ( a . attributes . length ) { var e ; for ( e = 0 ; e < a . attributes . length ; e += 1 ) b [ "@" + a . attributes [ e ] . nodeName ] = ( a . attributes [ e ] . nodeValue || "" ) . toString ( ) } if ( a . firstChild ) { var f = e = 0 , d = false , c ; for ( c = a . firstChild ; c ; c = c . nextSibling ) if ( c . nodeType === 1 ) d = true ; else if ( c . nodeType === 3 && c . nodeValue . match ( /[^ \f\n\r\t\v]/ ) ) e += 1 ; else if ( c . nodeType === 4 ) f += 1 ;
if ( d ) if ( e < 2 && f < 2 ) { this . removeWhite ( a ) ; for ( c = a . firstChild ; c ; c = c . nextSibling ) if ( c . nodeType === 3 ) b [ "#text" ] = this . escape ( c . nodeValue ) ; else if ( c . nodeType === 4 ) if ( h . test ( c . nodeValue ) ) b [ c . nodeName ] = [ b [ c . nodeName ] , c . nodeValue ] ; else b [ "#cdata" ] = this . escape ( c . nodeValue ) ; else if ( b [ c . nodeName ] ) if ( b [ c . nodeName ] instanceof Array ) b [ c . nodeName ] [ b [ c . nodeName ] . length ] = this . toObj ( c ) ; else b [ c . nodeName ] = [ b [ c . nodeName ] , this . toObj ( c ) ] ; else b [ c . nodeName ] = this . toObj ( c ) } else if ( a . attributes . length ) b [ "#text" ] = this . escape ( this . innerXml ( a ) ) ;
else b = this . escape ( this . innerXml ( a ) ) ; else if ( e ) if ( a . attributes . length ) b [ "#text" ] = this . escape ( this . innerXml ( a ) ) ; else { b = this . escape ( this . innerXml ( a ) ) ; if ( b === "__EMPTY_ARRAY_" ) b = "[]" ; else if ( b === "__EMPTY_STRING_" ) b = "" } else if ( f ) if ( f > 1 ) b = this . escape ( this . innerXml ( a ) ) ; else for ( c = a . firstChild ; c ; c = c . nextSibling ) if ( h . test ( a . firstChild . nodeValue ) ) { b = a . firstChild . nodeValue ; break } else b [ "#cdata" ] = this . escape ( c . nodeValue ) } if ( ! a . attributes . length && ! a . firstChild ) b = null } else if ( a . nodeType === 9 ) b = this . toObj ( a . documentElement ) ;
else alert ( "unhandled node type: " + a . nodeType ) ; return b } , toJson : function ( a , b , h , e ) { if ( e === undefined ) e = true ; var f = b ? '"' + b + '"' : "" , d = "\t" , c = "\n" ; if ( ! e ) c = d = "" ; if ( a === "[]" ) f += b ? ":[]" : "[]" ; else if ( a instanceof Array ) { var i , g , k = [ ] ; g = 0 ; for ( i = a . length ; g < i ; g += 1 ) k [ g ] = this . toJson ( a [ g ] , "" , h + d , e ) ; f += ( b ? ":[" : "[" ) + ( k . length > 1 ? c + h + d + k . join ( "," + c + h + d ) + c + h : k . join ( "" ) ) + "]" } else if ( a === null ) f += ( b && ":" ) + "null" ; else if ( typeof a === "object" ) { i = [ ] ; for ( g in a ) if ( a . hasOwnProperty ( g ) ) i [ i . length ] = this . toJson ( a [ g ] , g , h + d , e ) ; f += ( b ?
":{" : "{" ) + ( i . length > 1 ? c + h + d + i . join ( "," + c + h + d ) + c + h : i . join ( "" ) ) + "}" } else f += typeof a === "string" ? ( b && ":" ) + '"' + a . replace ( /\\/g , "\\\\" ) . replace ( /\"/g , '\\"' ) + '"' : ( b && ":" ) + '"' + a . toString ( ) + '"' ; return f } , innerXml : function ( a ) { var b = "" ; if ( "innerHTML" in a ) b = a . innerHTML ; else { var h = function ( e ) { var f = "" , d ; if ( e . nodeType === 1 ) { f += "<" + e . nodeName ; for ( d = 0 ; d < e . attributes . length ; d += 1 ) f += " " + e . attributes [ d ] . nodeName + '="' + ( e . attributes [ d ] . nodeValue || "" ) . toString ( ) + '"' ; if ( e . firstChild ) { f += ">" ; for ( d = e . firstChild ; d ; d = d . nextSibling ) f +=
h ( d ) ; f += "</" + e . nodeName + ">" } else f += "/>" } else if ( e . nodeType === 3 ) f += e . nodeValue ; else if ( e . nodeType === 4 ) f += "<![CDATA[" + e . nodeValue + "]]\>" ; return f } ; for ( a = a . firstChild ; a ; a = a . nextSibling ) b += h ( a ) } return b } , escape : function ( a ) { return a . replace ( /[\\]/g , "\\\\" ) . replace ( /[\"]/g , '\\"' ) . replace ( /[\n]/g , "\\n" ) . replace ( /[\r]/g , "\\r" ) } , removeWhite : function ( a ) { a . normalize ( ) ; var b ; for ( b = a . firstChild ; b ; ) if ( b . nodeType === 3 ) if ( b . nodeValue . match ( /[^ \f\n\r\t\v]/ ) ) b = b . nextSibling ; else { var h = b . nextSibling ; a . removeChild ( b ) ;
b = h } else { b . nodeType === 1 && this . removeWhite ( b ) ; b = b . nextSibling } return a } } ;
function tableToGrid ( n , o ) { jQuery ( n ) . each ( function ( ) { if ( ! this . grid ) { jQuery ( this ) . width ( "99%" ) ; var a = jQuery ( this ) . width ( ) , d = jQuery ( "tr td:first-child input[type=checkbox]:first" , jQuery ( this ) ) , b = jQuery ( "tr td:first-child input[type=radio]:first" , jQuery ( this ) ) ; d = d . length > 0 ; b = ! d && b . length > 0 ; var l = d || b , c = [ ] , g = [ ] ; jQuery ( "th" , jQuery ( this ) ) . each ( function ( ) { if ( c . length === 0 && l ) { c . push ( { name : "__selection__" , index : "__selection__" , width : 0 , hidden : true } ) ; g . push ( "__selection__" ) } else { c . push ( { name : jQuery ( this ) . attr ( "id" ) ||
jQuery . trim ( jQuery . jgrid . stripHtml ( jQuery ( this ) . html ( ) ) ) . split ( " " ) . join ( "_" ) , index : jQuery ( this ) . attr ( "id" ) || jQuery . trim ( jQuery . jgrid . stripHtml ( jQuery ( this ) . html ( ) ) ) . split ( " " ) . join ( "_" ) , width : jQuery ( this ) . width ( ) || 150 } ) ; g . push ( jQuery ( this ) . html ( ) ) } } ) ; var f = [ ] , h = [ ] , i = [ ] ; jQuery ( "tbody > tr" , jQuery ( this ) ) . each ( function ( ) { var j = { } , e = 0 ; jQuery ( "td" , jQuery ( this ) ) . each ( function ( ) { if ( e === 0 && l ) { var k = jQuery ( "input" , jQuery ( this ) ) , m = k . attr ( "value" ) ; h . push ( m || f . length ) ; k . is ( ":checked" ) && i . push ( m ) ; j [ c [ e ] . name ] =
k . attr ( "value" ) } else j [ c [ e ] . name ] = jQuery ( this ) . html ( ) ; e ++ } ) ; e > 0 && f . push ( j ) } ) ; jQuery ( this ) . empty ( ) ; jQuery ( this ) . addClass ( "scroll" ) ; jQuery ( this ) . jqGrid ( jQuery . extend ( { datatype : "local" , width : a , colNames : g , colModel : c , multiselect : d } , o || { } ) ) ; for ( a = 0 ; a < f . length ; a ++ ) { b = null ; if ( h . length > 0 ) if ( ( b = h [ a ] ) && b . replace ) b = encodeURIComponent ( b ) . replace ( /[.\-%]/g , "_" ) ; if ( b === null ) b = a + 1 ; jQuery ( this ) . jqGrid ( "addRowData" , b , f [ a ] ) } for ( a = 0 ; a < i . length ; a ++ ) jQuery ( this ) . jqGrid ( "setSelection" , i [ a ] ) } } ) } ;
( function ( a ) { if ( a . browser . msie && a . browser . version == 8 ) a . expr [ ":" ] . hidden = function ( b ) { return b . offsetWidth === 0 || b . offsetHeight === 0 || b . style . display == "none" } ; a . jgrid . _multiselect = false ; if ( a . ui ) if ( a . ui . multiselect ) { if ( a . ui . multiselect . prototype . _setSelected ) { var q = a . ui . multiselect . prototype . _setSelected ; a . ui . multiselect . prototype . _setSelected = function ( b , h ) { var c = q . call ( this , b , h ) ; if ( h && this . selectedList ) { var f = this . element ; this . selectedList . find ( "li" ) . each ( function ( ) { a ( this ) . data ( "optionLink" ) && a ( this ) . data ( "optionLink" ) . remove ( ) . appendTo ( f ) } ) } return c } } if ( a . ui . multiselect . prototype . destroy ) a . ui . multiselect . prototype . destroy =
function ( ) { this . element . show ( ) ; this . container . remove ( ) ; a . Widget === undefined ? a . widget . prototype . destroy . apply ( this , arguments ) : a . Widget . prototype . destroy . apply ( this , arguments ) } ; a . jgrid . _multiselect = true } a . jgrid . extend ( { sortableColumns : function ( b ) { return this . each ( function ( ) { function h ( ) { c . p . disableClick = true } var c = this , f = c . p . id ; f = { tolerance : "pointer" , axis : "x" , scrollSensitivity : "1" , items : ">th:not(:has(#jqgh_" + f + "_cb,#jqgh_" + f + "_rn,#jqgh_" + f + "_subgrid),:hidden)" , placeholder : { element : function ( g ) { return a ( document . createElement ( g [ 0 ] . nodeName ) ) . addClass ( g [ 0 ] . className +
" ui-sortable-placeholder ui-state-highlight" ) . removeClass ( "ui-sortable-helper" ) [ 0 ] } , update : function ( g , j ) { j . height ( g . currentItem . innerHeight ( ) - parseInt ( g . currentItem . css ( "paddingTop" ) || 0 , 10 ) - parseInt ( g . currentItem . css ( "paddingBottom" ) || 0 , 10 ) ) ; j . width ( g . currentItem . innerWidth ( ) - parseInt ( g . currentItem . css ( "paddingLeft" ) || 0 , 10 ) - parseInt ( g . currentItem . css ( "paddingRight" ) || 0 , 10 ) ) } } , update : function ( g , j ) { var i = a ( j . item ) . parent ( ) ; i = a ( ">th" , i ) ; var l = { } , m = c . p . id + "_" ; a . each ( c . p . colModel , function ( k ) { l [ this . name ] =
k } ) ; var d = [ ] ; i . each ( function ( ) { var k = a ( ">div" , this ) . get ( 0 ) . id . replace ( /^jqgh_/ , "" ) . replace ( m , "" ) ; k in l && d . push ( l [ k ] ) } ) ; a ( c ) . jqGrid ( "remapColumns" , d , true , true ) ; a . isFunction ( c . p . sortable . update ) && c . p . sortable . update ( d ) ; setTimeout ( function ( ) { c . p . disableClick = false } , 50 ) } } ; if ( c . p . sortable . options ) a . extend ( f , c . p . sortable . options ) ; else if ( a . isFunction ( c . p . sortable ) ) c . p . sortable = { update : c . p . sortable } ; if ( f . start ) { var e = f . start ; f . start = function ( g , j ) { h ( ) ; e . call ( this , g , j ) } } else f . start = h ; if ( c . p . sortable . exclude ) f . items +=
":not(" + c . p . sortable . exclude + ")" ; b . sortable ( f ) . data ( "sortable" ) . floating = true } ) } , columnChooser : function ( b ) { function h ( d , k ) { if ( d ) if ( typeof d == "string" ) a . fn [ d ] && a . fn [ d ] . apply ( k , a . makeArray ( arguments ) . slice ( 2 ) ) ; else a . isFunction ( d ) && d . apply ( k , a . makeArray ( arguments ) . slice ( 2 ) ) } var c = this ; if ( ! a ( "#colchooser_" + c [ 0 ] . p . id ) . length ) { var f = a ( '<div id="colchooser_' + c [ 0 ] . p . id + '" style="position:relative;overflow:hidden"><div><select multiple="multiple"></select></div></div>' ) , e = a ( "select" , f ) ; b = a . extend ( { width : 420 ,
height : 240 , classname : null , done : function ( d ) { d && c . jqGrid ( "remapColumns" , d , true ) } , msel : "multiselect" , dlog : "dialog" , dlog _opts : function ( d ) { var k = { } ; k [ d . bSubmit ] = function ( ) { d . apply _perm ( ) ; d . cleanup ( false ) } ; k [ d . bCancel ] = function ( ) { d . cleanup ( true ) } ; return { buttons : k , close : function ( ) { d . cleanup ( true ) } , modal : d . modal ? d . modal : false , resizable : d . resizable ? d . resizable : true , width : d . width + 20 } } , apply _perm : function ( ) { a ( "option" , e ) . each ( function ( ) { this . selected ? c . jqGrid ( "showCol" , g [ this . value ] . name ) : c . jqGrid ( "hideCol" ,
g [ this . value ] . name ) } ) ; var d = [ ] ; a ( "option:selected" , e ) . each ( function ( ) { d . push ( parseInt ( this . value , 10 ) ) } ) ; a . each ( d , function ( ) { delete i [ g [ parseInt ( this , 10 ) ] . name ] } ) ; a . each ( i , function ( ) { var k = parseInt ( this , 10 ) ; var p = d , o = k ; if ( o >= 0 ) { var n = p . slice ( ) , r = n . splice ( o , Math . max ( p . length - o , o ) ) ; if ( o > p . length ) o = p . length ; n [ o ] = k ; d = n . concat ( r ) } else d = void 0 } ) ; b . done && b . done . call ( c , d ) } , cleanup : function ( d ) { h ( b . dlog , f , "destroy" ) ; h ( b . msel , e , "destroy" ) ; f . remove ( ) ; d && b . done && b . done . call ( c ) } , msel _opts : { } } , a . jgrid . col , b || { } ) ;
if ( a . ui ) if ( a . ui . multiselect ) if ( b . msel == "multiselect" ) { if ( ! a . jgrid . _multiselect ) { alert ( "Multiselect plugin loaded after jqGrid. Please load the plugin before the jqGrid!" ) ; return } b . msel _opts = a . extend ( a . ui . multiselect . defaults , b . msel _opts ) } b . caption && f . attr ( "title" , b . caption ) ; if ( b . classname ) { f . addClass ( b . classname ) ; e . addClass ( b . classname ) } if ( b . width ) { a ( ">div" , f ) . css ( { width : b . width , margin : "0 auto" } ) ; e . css ( "width" , b . width ) } if ( b . height ) { a ( ">div" , f ) . css ( "height" , b . height ) ; e . css ( "height" , b . height - 10 ) } var g =
c . jqGrid ( "getGridParam" , "colModel" ) , j = c . jqGrid ( "getGridParam" , "colNames" ) , i = { } , l = [ ] ; e . empty ( ) ; a . each ( g , function ( d ) { i [ this . name ] = d ; if ( this . hidedlg ) this . hidden || l . push ( d ) ; else e . append ( "<option value='" + d + "' " + ( this . hidden ? "" : "selected='selected'" ) + ">" + j [ d ] + "</option>" ) } ) ; var m = a . isFunction ( b . dlog _opts ) ? b . dlog _opts . call ( c , b ) : b . dlog _opts ; h ( b . dlog , f , m ) ; m = a . isFunction ( b . msel _opts ) ? b . msel _opts . call ( c , b ) : b . msel _opts ; h ( b . msel , e , m ) } } , sortableRows : function ( b ) { return this . each ( function ( ) { var h = this ; if ( h . grid ) if ( ! h . p . treeGrid ) if ( a . fn . sortable ) { b =
a . extend ( { cursor : "move" , axis : "y" , items : ".jqgrow" } , b || { } ) ; if ( b . start && a . isFunction ( b . start ) ) { b . _start _ = b . start ; delete b . start } else b . _start _ = false ; if ( b . update && a . isFunction ( b . update ) ) { b . _update _ = b . update ; delete b . update } else b . _update _ = false ; b . start = function ( c , f ) { a ( f . item ) . css ( "border-width" , "0px" ) ; a ( "td" , f . item ) . each ( function ( j ) { this . style . width = h . grid . cols [ j ] . style . width } ) ; if ( h . p . subGrid ) { var e = a ( f . item ) . attr ( "id" ) ; try { a ( h ) . jqGrid ( "collapseSubGridRow" , e ) } catch ( g ) { } } b . _start _ && b . _start _ . apply ( this ,
[ c , f ] ) } ; b . update = function ( c , f ) { a ( f . item ) . css ( "border-width" , "" ) ; h . p . rownumbers === true && a ( "td.jqgrid-rownum" , h . rows ) . each ( function ( e ) { a ( this ) . html ( e + 1 + ( parseInt ( h . p . page , 10 ) - 1 ) * parseInt ( h . p . rowNum , 10 ) ) } ) ; b . _update _ && b . _update _ . apply ( this , [ c , f ] ) } ; a ( "tbody:first" , h ) . sortable ( b ) ; a ( "tbody:first" , h ) . disableSelection ( ) } } ) } , gridDnD : function ( b ) { return this . each ( function ( ) { function h ( ) { var e = a . data ( c , "dnd" ) ; a ( "tr.jqgrow:not(.ui-draggable)" , c ) . draggable ( a . isFunction ( e . drag ) ? e . drag . call ( a ( c ) , e ) : e . drag ) } var c =
this ; if ( c . grid ) if ( ! c . p . treeGrid ) if ( a . fn . draggable && a . fn . droppable ) { a ( "#jqgrid_dnd" ) . html ( ) === null && a ( "body" ) . append ( "<table id='jqgrid_dnd' class='ui-jqgrid-dnd'></table>" ) ; if ( typeof b == "string" && b == "updateDnD" && c . p . jqgdnd === true ) h ( ) ; else { b = a . extend ( { drag : function ( e ) { return a . extend ( { start : function ( g , j ) { if ( c . p . subGrid ) { var i = a ( j . helper ) . attr ( "id" ) ; try { a ( c ) . jqGrid ( "collapseSubGridRow" , i ) } catch ( l ) { } } for ( i = 0 ; i < a . data ( c , "dnd" ) . connectWith . length ; i ++ ) a ( a . data ( c , "dnd" ) . connectWith [ i ] ) . jqGrid ( "getGridParam" ,
"reccount" ) == "0" && a ( a . data ( c , "dnd" ) . connectWith [ i ] ) . jqGrid ( "addRowData" , "jqg_empty_row" , { } ) ; j . helper . addClass ( "ui-state-highlight" ) ; a ( "td" , j . helper ) . each ( function ( m ) { this . style . width = c . grid . headers [ m ] . width + "px" } ) ; e . onstart && a . isFunction ( e . onstart ) && e . onstart . call ( a ( c ) , g , j ) } , stop : function ( g , j ) { if ( j . helper . dropped && ! e . dragcopy ) { var i = a ( j . helper ) . attr ( "id" ) ; a ( c ) . jqGrid ( "delRowData" , i ) } for ( i = 0 ; i < a . data ( c , "dnd" ) . connectWith . length ; i ++ ) a ( a . data ( c , "dnd" ) . connectWith [ i ] ) . jqGrid ( "delRowData" , "jqg_empty_row" ) ;
e . onstop && a . isFunction ( e . onstop ) && e . onstop . call ( a ( c ) , g , j ) } } , e . drag _opts || { } ) } , drop : function ( e ) { return a . extend ( { accept : function ( g ) { if ( ! a ( g ) . hasClass ( "jqgrow" ) ) return g ; g = a ( g ) . closest ( "table.ui-jqgrid-btable" ) ; if ( g . length > 0 && a . data ( g [ 0 ] , "dnd" ) !== undefined ) { g = a . data ( g [ 0 ] , "dnd" ) . connectWith ; return a . inArray ( "#" + this . id , g ) != - 1 ? true : false } return false } , drop : function ( g , j ) { if ( a ( j . draggable ) . hasClass ( "jqgrow" ) ) { var i = a ( j . draggable ) . attr ( "id" ) ; i = j . draggable . parent ( ) . parent ( ) . jqGrid ( "getRowData" , i ) ; if ( ! e . dropbyname ) { var l =
0 , m = { } , d , k = a ( "#" + this . id ) . jqGrid ( "getGridParam" , "colModel" ) ; try { for ( var p in i ) { if ( i . hasOwnProperty ( p ) && k [ l ] ) { d = k [ l ] . name ; m [ d ] = i [ p ] } l ++ } i = m } catch ( o ) { } } j . helper . dropped = true ; if ( e . beforedrop && a . isFunction ( e . beforedrop ) ) { d = e . beforedrop . call ( this , g , j , i , a ( "#" + c . id ) , a ( this ) ) ; if ( typeof d != "undefined" && d !== null && typeof d == "object" ) i = d } if ( j . helper . dropped ) { var n ; if ( e . autoid ) if ( a . isFunction ( e . autoid ) ) n = e . autoid . call ( this , i ) ; else { n = Math . ceil ( Math . random ( ) * 1E3 ) ; n = e . autoidprefix + n } a ( "#" + this . id ) . jqGrid ( "addRowData" ,
n , i , e . droppos ) } e . ondrop && a . isFunction ( e . ondrop ) && e . ondrop . call ( this , g , j , i ) } } } , e . drop _opts || { } ) } , onstart : null , onstop : null , beforedrop : null , ondrop : null , drop _opts : { activeClass : "ui-state-active" , hoverClass : "ui-state-hover" } , drag _opts : { revert : "invalid" , helper : "clone" , cursor : "move" , appendTo : "#jqgrid_dnd" , zIndex : 5E3 } , dragcopy : false , dropbyname : false , droppos : "first" , autoid : true , autoidprefix : "dnd_" } , b || { } ) ; if ( b . connectWith ) { b . connectWith = b . connectWith . split ( "," ) ; b . connectWith = a . map ( b . connectWith , function ( e ) { return a . trim ( e ) } ) ;
a . data ( c , "dnd" , b ) ; c . p . reccount != "0" && ! c . p . jqgdnd && h ( ) ; c . p . jqgdnd = true ; for ( var f = 0 ; f < b . connectWith . length ; f ++ ) a ( b . connectWith [ f ] ) . droppable ( a . isFunction ( b . drop ) ? b . drop . call ( a ( c ) , b ) : b . drop ) } } } } ) } , gridResize : function ( b ) { return this . each ( function ( ) { var h = this ; if ( h . grid && a . fn . resizable ) { b = a . extend ( { } , b || { } ) ; if ( b . alsoResize ) { b . _alsoResize _ = b . alsoResize ; delete b . alsoResize } else b . _alsoResize _ = false ; if ( b . stop && a . isFunction ( b . stop ) ) { b . _stop _ = b . stop ; delete b . stop } else b . _stop _ = false ; b . stop = function ( c , f ) { a ( h ) . jqGrid ( "setGridParam" ,
{ height : a ( "#gview_" + h . p . id + " .ui-jqgrid-bdiv" ) . height ( ) } ) ; a ( h ) . jqGrid ( "setGridWidth" , f . size . width , b . shrinkToFit ) ; b . _stop _ && b . _stop _ . call ( h , c , f ) } ; b . alsoResize = b . _alsoResize _ ? eval ( "(" + ( "{'#gview_" + h . p . id + " .ui-jqgrid-bdiv':true,'" + b . _alsoResize _ + "':true}" ) + ")" ) : a ( ".ui-jqgrid-bdiv" , "#gview_" + h . p . id ) ; delete b . _alsoResize _ ; a ( "#gbox_" + h . p . id ) . resizable ( b ) } } ) } } ) } ) ( jQuery ) ;