aw.js
上传用户:q2283699q
上传日期:2022-05-17
资源大小:10704k
文件大小:130k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1.  AW.UI.Controllers.State=(function(){function itemSelected(value,index){this.calculateItemState(index);var i,a=this.getSelectedItems();for(i=0;i<a.length;i++){if(a[i]==index){if(!value){a=a.concat();a.splice(i,1);this.setSelectedItems(a)}return}}if(value){a=a.concat(index);this.setSelectedItems(a)}}var select=[],unselect=[];function selectedItems1(a){var b=this.getSelectedItems();var i,before={},after={};select=[];unselect=[];for(i=0;i<b.length;i++){before[b[i]]=true}for(i=0;i<a.length;i++){after[a[i]]=true}for(i=0;i<b.length;i++){if(!after[b[i]]){unselect.push(b[i])}}for(i=0;i<a.length;i++){if(!before[a[i]]){select.push(a[i])}}}function selectedItems2(){var i;for(i=0;i<unselect.length;i++){if(this.getItemSelected(unselect[i])){this.setItemSelected(false,unselect[i])}}for(i=0;i<select.length;i++){if(!this.getItemSelected(select[i])){this.setItemSelected(true,select[i])}}}var current;function currentItem1(){current=this.getCurrentItem()}function currentItem2(index){this.calculateItemState(current);var e1=this.getItemTemplate(current).getContent("box/text").element();if(e1 && index !=current){e1.tabIndex=-1}e1=null;this.calculateItemState(index);var e2=this.getItemTemplate(index).getContent("box/text").element();if(e2 && e2.focus){e2.tabIndex=this.getTabIndex();e2.focus()}e2=null}return{onItemSelectedChanged:itemSelected,onCurrentItemChanging:currentItem1,onCurrentItemChanged:currentItem2,onSelectedItemsChanging:selectedItems1,onSelectedItemsChanged:selectedItems2}})();
  2.  AW.UI.Controllers.Single={onKeyHome:"selectFirstItem",onKeyEnd:"selectLastItem",onKeyUp:"selectPreviousItem",onKeyDown:"selectNextItem",onKeyLeft:"selectPreviousItem",onKeyRight:"selectNextItem",onKeyPageUp:"selectPreviousPage",onKeyPageDown:"selectNextPage",onItemClicked:"selectClickedItem"};
  3.  AW.UI.Controllers.Multi={onKeyHome:"selectFirstItem",onKeyEnd:"selectLastItem",onKeyUp:"selectPreviousItem",onKeyDown:"selectNextItem",onKeyPageUp:"selectPreviousPage",onKeyPageDown:"selectNextPage",onKeyCtrlHome:"gotoFirstItem",onKeyCtrlEnd:"gotoLastItem",onKeyCtrlUp:"gotoPreviousItem",onKeyCtrlDown:"gotoNextItem",onKeyCtrlPageUp:"gotoPreviousPage",onKeyCtrlPageDown:"gotoNextPage",onKeyCtrlSpace:"toggleCurrentItem",onKeySpace:"toggleCurrentItem",onItemClicked:"toggleClickedItem"};
  4.  AW.UI.Controllers.Checked={onKeyHome:"gotoFirstItem",onKeyEnd:"gotoLastItem",onKeyUp:"gotoPreviousItem",onKeyDown:"gotoNextItem",onKeySpace:"toggleCurrentItem"};
  5.  AW.UI.ImageText=AW.System.Control.subclass();AW.UI.ImageText.create=function(){AW.Templates.ImageText.create.call(this);var obj=this.prototype;obj.setClass("templates","");obj.setClass("ui","imagetext");obj.setClass("item","control");obj.setClass("text","expand");function _tabIndex(){return this.getTabProperty("index")}obj.getContent("box/text").setAttribute("tabIndex",_tabIndex);var _refresh=function(){this.refresh()};var itemController={onControlTextChanged:_refresh,onControlImageChanged:_refresh,onControlValueChanged:_refresh,onControlLinkChanged:_refresh,onControlTooltipChanged:_refresh,onControlStateChanged:_refresh};obj.setController("item",itemController);obj.setEvent("onactivate",function(event){var e=this.getContent("box/text").element();if(e && event.srcElement !=e){this.setTimeout(function(){if(this.$active){e.setActive()}})}});obj.focus=function(){try{this.getContent("box/text").element().focus()}catch(err){}};obj.onControlDisabledChanged=function(value){this.setClass("disabled",value?"control":null);this.setAttribute("disabled",value?true:null);this.getContent("box/text").setAttribute("disabled",value?true:null)}};
  6.  AW.UI.Label=AW.UI.ImageText.subclass();AW.UI.Label.create=function(){var obj=this.prototype;obj.setClass("ui","label");obj.setTabIndex(-1)};
  7.  AW.UI.Group=AW.UI.ImageText.subclass();AW.UI.Group.create=function(){var obj=this.prototype;obj.setTag("fieldset");obj.setClass("ui","group");obj.setClass("text","normal");obj.setTabIndex(-1);var box=obj.getContent("box");box.setTag("legend");box.setClass("item","legend")};
  8.  AW.UI.Button=AW.UI.ImageText.subclass();AW.UI.Button.create=function(){var obj=this.prototype;obj.setClass("ui","button");obj.setAttribute("awx","button");var _click=function(event){if(!this.getControlDisabled()){this.raiseEvent("onClick",event)}};obj.setController("button",{onControlClicked:_click,onKeySpace:_click,onKeyEnter:_click})};
  9.  AW.UI.Link=AW.UI.ImageText.subclass();AW.UI.Link.create=function(){AW.Templates.Link.create.call(this);var obj=this.prototype;obj.setClass("ui","link")};
  10.  AW.UI.Input=AW.UI.ImageText.subclass();AW.UI.Input.create=function(){var obj=this.prototype;obj.setClass("ui","input");obj.setClass("input","box");obj.setClass("text","");var text=new AW.HTML.INPUT;text.setClass("item","text");text.setAttribute("type","text");text.setAttribute("value",function(){return this.getControlProperty("text")});text.setAttribute("tabIndex",function(){return this.getTabProperty("index")});if(!AW.safari){obj.setContent("box/text",text)}var _edit=function(){this.setTimeout(function(){if(this.$active){this.startEdit()}})};var _refresh=function(){this.refresh()};var _text=function(){var e=this.getContent("box/text").element();var text=this.getControlProperty("text");var input=e &&((e.tagName=="input")||(e.tagName=="INPUT"));if(input){if(e && e.value !=text){e.value=text}}else{if(e && e.innerHTML !=text){e.innerHTML=text}}};var itemController={onControlActivated:_edit,onControlTextChanged:_text,onControlImageChanged:_refresh,onControlValueChanged:_text,onControlLinkChanged:_refresh,onControlTooltipChanged:_refresh,onControlStateChanged:_refresh};obj.setController("item",itemController)};
  11.  AW.UI.Password=AW.UI.Input.subclass();AW.UI.Password.create=function(){var obj=this.prototype;obj.getContent("box/text").setAttribute("type","password")};
  12.  AW.UI.List=AW.System.Control.subclass();AW.UI.List.create=function(){var obj=this.prototype;var _super=this.superclass.prototype;obj.setClass("ui","list");obj.setClass("list","control");obj.setClass("flow","vertical");obj.setClass("text","normal");var box=new AW.HTML.SPAN;box.setClass("list","box");if(AW.gecko){box.setAttribute("tabIndex","-1")}if(AW.ie && AW.strict){box.setStyle("width","expression(this.parentElement.offsetWidth-4)")}box.setContent("html",function(){return this.getLayoutTemplate()});obj.setContent("box",box);var UI=AW.UI.Controllers;obj.setController("list",UI.List);obj.setController("actions",UI.Actions);obj.setController("changes",UI.Changes);obj.setController("selection",UI.Single);obj.setController("state",UI.State);obj.defineTemplate("layout",function(){return this.getScrollTemplate()});obj.defineTemplate("scroll",function(){return this.getContentTemplate()});obj.defineTemplate("content",new AW.Templates.List);obj.defineTemplate("item",new AW.Templates.ImageText);function value(i){var text=this.getItemText(i);var format=this.getItemFormat(i);return format?format.textToValue(text):text}function count(){return this.getItemCount()}function position(i){return Number(i)}var models={item:{count:0,text:"",image:"",link:"",value:value,format:"",tooltip:"",state:"",selected:false},view:{count:count,position:position,offset:0,expanded:false},selection:{mode:"single"},current:{item:0}};obj.defineModel("item",models.item);obj.defineModel("view",models.view);obj.defineModel("current",models.current);obj.defineModel("selected",{});obj.defineModel("selection",models.selection);obj.defineModel("state",{});obj.defineViewProperty("indices","",true);obj.defineSelectedProperty("items",[],true);obj.calculateItemState=function(i){var state="";if(this.getCurrentItem()==i){state="current"}if(this.getItemSelected(i)){state="selected"}if(this.getItemState(i)!=state){this.setItemState(state,i)}};obj.toString=function(){this.setTimeout(function(){try{var i=this.getCurrentItem();var t=this.getTabIndex();this.getItemTemplate(i).getContent("box/text").element().tabIndex=t}catch(err){}});return _super.toString.call(this)};obj.focus=function(){try{var i=this.getCurrentItem();this.getItemTemplate(i).getContent("box/text").element().focus()}catch(err){}};obj.onControlDisabledChanged=function(value){this.setClass("disabled",value?"control":null);this.setAttribute("disabled",value?true:null)}};
  13.  AW.UI.Tabs=AW.UI.List.subclass();AW.UI.Tabs.create=function(){var obj=this.prototype;obj.setClass("ui","tabs");obj.setClass("text","expand");obj.setClass("flow","horizontal")};
  14.  AW.UI.Combo=AW.UI.List.subclass();AW.UI.Combo.create=function(){AW.UI.ImageText.create.call(this);AW.UI.Input.create.call(this);AW.Templates.Combo.create.call(this);var obj=this.prototype;obj.setClass("ui","combo");obj.setClass("input","");obj.defineTemplate("popup",new AW.Templates.Frame);obj.onCurrentItemChanged=function(i){var text=this.getItemText(i);this.setControlText(text);this.hidePopup();var e=this.getContent("box/text").element();if(AW.safari){e.innerHTML=text}else{e.value=text;e.select()}e=null};obj.setController("selection",{onKeyUp:"selectPreviousItem",onKeyDown:"selectNextItem",onItemClicked:"selectClickedItem"})};
  15.  AW.UI.CheckBox=AW.UI.ImageText.subclass();AW.UI.CheckBox.create=function(){AW.Templates.CheckBox.create.call(this);var obj=this.prototype;obj.setClass("ui","checkbox");obj.setControlProperty("value",false);obj.setEvent("onclick","");var _toggle=function(){if(!this.getControlDisabled()){this.setControlValue(!this.getControlValue())}};obj.setController("checkbox",{onKeySpace:_toggle,onControlClicked:_toggle})};AW.UI.Checkbox=AW.UI.CheckBox;
  16.  AW.UI.CheckedList=AW.UI.List.subclass();AW.UI.CheckedList.create=function(){var obj=this.prototype;obj.setClass("ui","checkedlist");obj.setItemTemplate(new AW.Templates.CheckedItem);obj.setController("selection",AW.UI.Controllers.Checked)};
  17.  AW.UI.Radio=AW.UI.CheckedList.subclass();AW.UI.Radio.create=function(){var obj=this.prototype;obj.setClass("ui","radio");obj.setItemTemplate(new AW.Templates.Radio);obj.setSelectionMode("single")};
  18.  AW.Grid.Controllers.Actions=(function(){function arg1(event,i,j){return i}function arg2(event,i,j){return j}function sameColumn(){return this.getCurrentColumn()}function firstColumn(){var p=this.getColumnOffset();var a=this.getColumnIndices();return a?a[p]:p}function lastColumn(){var p=this.getColumnOffset()+this.getColumnCount()- 1;var a=this.getColumnIndices();return a?a[p]:p}function nextColumn(){var i=this.getCurrentColumn();var p=Math.min(this.getColumnPosition(i)+1,this.getColumnOffset()+this.getColumnCount()- 1);var a=this.getColumnIndices();return a?a[p]:p}function previousColumn(){var i=this.getCurrentColumn();var p=Math.max(this.getColumnPosition(i)- 1,this.getColumnOffset());var a=this.getColumnIndices();return a?a[p]:p}function sameRow(){return this.getCurrentRow()}function firstRow(){var p=this.getRowOffset();var a=this.getRowIndices();return a?a[p]:p}function lastRow(){var p=this.getRowOffset()+this.getRowCount()- 1;var a=this.getRowIndices();return a?a[p]:p}function nextRow(){var i=this.getCurrentRow();var p=Math.min(this.getRowPosition(i)+1,this.getRowOffset()+this.getRowCount()- 1);var a=this.getRowIndices();return a?a[p]:p}function previousRow(){var i=this.getCurrentRow();var p=Math.max(this.getRowPosition(i)- 1,this.getRowOffset());var a=this.getRowIndices();return a?a[p]:p}function pageUpRow(){var i=this.getCurrentRow();var p=Math.max(this.getRowPosition(i)- 10,this.getRowOffset());var a=this.getRowIndices();return a?a[p]:p}function pageDownRow(){var i=this.getCurrentRow();var p=Math.min(this.getRowPosition(i)+10,this.getRowOffset()+this.getRowCount()- 1);var a=this.getRowIndices();return a?a[p]:p}function includeCell(c,r){var start,end,i,a;var cc=this.getSelectedColumns();if(!cc.length){this.setSelectedColumns([c])}else{start=this.getColumnPosition(cc[0]);end=this.getColumnPosition(c);a=this.getColumnIndices();cc=[];if(start < end){for(i=start;i <=end;i++){cc.push(a?a[i]:i)}}else{for(i=start;i >=end;i--){cc.push(a?a[i]:i)}}this.setSelectedColumns(cc)}var rr=this.getSelectedRows();if(!rr.length){this.setSelectedRows([r])}else{start=this.getRowPosition(rr[0]);end=this.getRowPosition(r);a=this.getRowIndices();rr=[];if(start < end){for(i=start;i <=end;i++){rr.push(a?a[i]:i)}}else{for(i=start;i >=end;i--){rr.push(a?a[i]:i)}}this.setSelectedRows(rr)}if(c!=this.getCurrentColumn()){this.setCurrentColumn(c)}if(r!=this.getCurrentRow()){this.setCurrentRow(r)}}function selectCell(c,r){var cc=this.getSelectedColumns();if(cc.length !=1 || cc[0] !=c){this.setSelectedColumns([c])}var rr=this.getSelectedRows();if(rr.length !=1 || rr[0] !=r){this.setSelectedRows([r])}if(c!=this.getCurrentColumn()){this.setCurrentColumn(c)}if(r!=this.getCurrentRow()){this.setCurrentRow(r)}}function includeRow(r){var rr=this.getSelectedRows();if(!rr.length){this.setSelectedRows([r])}else{var start=this.getRowPosition(rr[0]);var end=this.getRowPosition(r);var i,a=this.getRowIndices();rr=[];if(start < end){for(i=start;i <=end;i++){rr.push(a?a[i]:i)}}else{for(i=start;i >=end;i--){rr.push(a?a[i]:i)}}this.setSelectedRows(rr)}if(r!=this.getCurrentRow()){this.setCurrentRow(r)}}function selectRow(r){var rr=this.getSelectedRows();if(rr.length !=1 || rr[0] !=r){this.setSelectedRows([r])}if(r!=this.getCurrentRow()){this.setCurrentRow(r)}}function gotoRow(r){this.setCurrentRow(r)}function toggleRow(r){this.setRowSelected(!this.getRowSelected(r),r)}var todo;function deferred(){if(todo){todo.call(this);todo=null}}function f(action,column,row){return function(event,i,j){var undef;var c=column?column.call(this,event,i,j):undef;var r=row?row.call(this,event,i,j):undef;if(event && event.type=="mousedown"){todo=function(){action.call(this,c,r)};this.setTimeout(function(){if(this.$active && !this.$edit && todo){todo.call(this)}todo=null;if(AW.gecko){try{window.getSelection().collapseToEnd()}catch(err){}}})}else{if(this.$edit){try{this.getContent("focus").element().focus()}catch(err){}}if(this.$active && !this.$edit){action.call(this,c,r)}if(AW.gecko){try{window.getSelection().collapseToEnd()}catch(err){}}AW.setReturnValue(event,false)}event=null}}return{toggleClickedRow:f(toggleRow,arg1),gotoClickedRow:f(gotoRow,arg1),gotoPreviousRow:f(gotoRow,previousRow),gotoNextRow:f(gotoRow,nextRow),gotoFirstRow:f(gotoRow,firstRow),gotoLastRow:f(gotoRow,lastRow),gotoPageUpRow:f(gotoRow,pageUpRow),gotoPageDownRow:f(gotoRow,pageDownRow),selectClickedRow:f(selectRow,arg1),selectPreviousRow:f(selectRow,previousRow),selectNextRow:f(selectRow,nextRow),selectFirstRow:f(selectRow,firstRow),selectLastRow:f(selectRow,lastRow),selectPageUpRow:f(selectRow,pageUpRow),selectPageDownRow:f(selectRow,pageDownRow),includeClickedRow:f(includeRow,arg1),includePreviousRow:f(includeRow,previousRow),includeNextRow:f(includeRow,nextRow),includeFirstRow:f(includeRow,firstRow),includeLastRow:f(includeRow,lastRow),includePageUpRow:f(includeRow,pageUpRow),includePageDownRow:f(includeRow,pageDownRow),selectClickedCell:f(selectCell,arg1,arg2),selectLowerCell:f(selectCell,sameColumn,nextRow),selectUpperCell:f(selectCell,sameColumn,previousRow),selectTopCell:f(selectCell,sameColumn,firstRow),selectBottomCell:f(selectCell,sameColumn,lastRow),selectNextCell:f(selectCell,nextColumn,sameRow),selectPreviousCell:f(selectCell,previousColumn,sameRow),selectFirstCell:f(selectCell,firstColumn,sameRow),selectLastCell:f(selectCell,lastColumn,sameRow),selectTopLeftCell:f(selectCell,firstColumn,firstRow),selectBottomRightCell:f(selectCell,lastColumn,lastRow),selectPageUpCell:f(selectCell,sameColumn,pageUpRow),selectPageDownCell:f(selectCell,sameColumn,pageDownRow),includeClickedCell:f(includeCell,arg1,arg2),includeLowerCell:f(includeCell,sameColumn,nextRow),includeUpperCell:f(includeCell,sameColumn,previousRow),includeTopCell:f(includeCell,sameColumn,firstRow),includeBottomCell:f(includeCell,sameColumn,lastRow),includeNextCell:f(includeCell,nextColumn,sameRow),includePreviousCell:f(includeCell,previousColumn,sameRow),includeFirstCell:f(includeCell,firstColumn,sameRow),includeLastCell:f(includeCell,lastColumn,sameRow),includeTopLeftCell:f(includeCell,firstColumn,firstRow),includeBottomRightCell:f(includeCell,lastColumn,lastRow),includePageUpCell:f(includeCell,sameColumn,pageUpRow),includePageDownCell:f(includeCell,sameColumn,pageDownRow),onCellMouseUp:f(deferred)}})();
  19.  AW.Grid.Controllers.Size=(function(){function init(){this._rowHeight=this.getContent("sample").element().offsetHeight;if(!this._columnWidth1){this._columnWidth1=[]}var i,ii,n=this.getColumnCount(),a=this.getColumnIndices();var hrow=this.$extended?0:undefined;for(i=0;i<n;i++){ii=a?a[i]:i;this._columnWidth1[ii]=this.getHeaderTemplate(ii,hrow).element().offsetWidth}var lw=0,lc=this.$extended?this.getFixedLeft():0;var mw=0,c=this.getColumnCount();var rw=0,rc=this.$extended?this.getFixedRight():0;lw=this.getSelectorVisible()?this.getSelectorWidth():lw;if(!this.$extended){mw=lw;lw=0}for(i=0;i<lc;i++){lw+=this.getColumnWidth(a?a[i]:i)}for(i=c-rc;i<c;i++){rw+=this.getColumnWidth(a?a[i]:i)}this.setContentWidth(lw,0);this.setContentWidth(rw,2)}function footer(){var i,h=0,count=this.$extended?this.getFooterCount():1,a=this.getFooterIndices();if(this.getFooterVisible()){for(i=0;i<count;i++){h+=this.getFooterHeight(a?a[i]:i)}}this.setContentHeight(h,2)}function header(){var i,h=0,count=this.$extended?this.getHeaderCount():1,a=this.getHeaderIndices();if(this.getHeaderVisible()){for(i=0;i<count;i++){h+=this.getHeaderHeight(a?a[i]:i)}}this.setContentHeight(h,0)}return{onHeaderVisibleChanged:header,onHeaderHeightChanged:header,onHeaderCountChanged:header,onFooterVisibleChanged:footer,onFooterHeightChanged:footer,onFooterCountChanged:footer,paint:init}})();
  20.  AW.Grid.Controllers.Cell=(function(){function refresh(value,col,row){if(this.$edit && this.$editCol==col && this.$editRow==row){return}this.getCellTemplate(col,row).refresh()}function refreshClasses(value,col,row){this.getCellTemplate(col,row).refreshClasses()}function cellData(val,col,row){function dataToText(i,j){var data=this.getCellData(i,j);var format=this.getCellFormat(i,j);return format?format.dataToText(data):data}function dataToValue(i,j){var data=this.getCellData(i,j);var format=this.getCellFormat(i,j);return format?format.dataToValue(data):data}this.setCellText(dataToText,col,row);this.setCellValue(dataToValue,col,row)}function tooltip(event,col,row){var e=this.getCellTemplate(col,row).element();var s=this.getCellTooltip(col,row);if(e){e.setAttribute("title",s)}e=null}function calcState(v,i,j){this.calculateCellState(i,j)}function startEdit(event){var c=this.getCurrentColumn();var r=this.getCurrentRow();if(!this.getCellEditable(c,r)){return}var t=this.getCellTemplate(c,r);if(t.startEdit && !this.$edit){this.$editCol=c;this.$editRow=r;if(event && event.type=="keypress"){if(event.keyCode !=27){t.startEdit(String.fromCharCode(event.keyCode || event.charCode))}}else{t.startEdit()}AW.setReturnValue(event,false)}}return{onKeyPress:startEdit,editCurrentCell:startEdit,onCellMouseOver:tooltip,onCellSelectedChanged:calcState,onCellDataChanged:cellData,onCellTextChanged:refresh,onCellLinkChanged:refresh,onCellImageChanged:refresh,onCellValueChanged:refresh,onCellStateChanged:refreshClasses}})();
  21.  AW.Grid.Controllers.Row=(function(){function refresh(value,row){this.getRowTemplate(row).refreshClasses()}function addRow(row){var count=this.getRowCount();var a=this.getRowIndices();if(count<2){this.refresh();return}var prev=a[count-2];if(!this.$extended){e=this.getRowTemplate(prev).element();if(e){AW.setOuterHTML(e,this.getRowTemplate(prev).toString()+this.getRowTemplate(row).toString())}e=null}else{for(i=0;i<3;i++){e=this.getRowTemplate(prev,i).element();if(e){AW.setOuterHTML(e,this.getRowTemplate(prev,i).toString()+this.getRowTemplate(row,i).toString())}e=null}}this.raiseEvent("adjustScrollHeight")}function removeRow(row){var i,e;if(!this.$extended){e=this.getRowTemplate(row).element();if(e){AW.setOuterHTML(e,"")}e=null}else{for(i=0;i<3;i++){e=this.getRowTemplate(row,i).element();if(e){AW.setOuterHTML(e,"")}e=null}}this.raiseEvent("adjustScrollHeight")}function calcRowState(v,i){this.calculateRowState(i)}return{onRowAdded:addRow,onRowDeleted:removeRow,onRowSelectedChanged:calcRowState,onRowStateChanged:refresh}})();
  22.  AW.Grid.Controllers.View={onRowIndicesChanged:function(indices){var positions=[];for(var i=0;i<indices.length;i++){positions[indices[i]]=i}this.setRowPosition(positions);this.refresh()},onColumnIndicesChanged:function(indices){var positions=[];for(var i=0;i<indices.length;i++){positions[indices[i]]=i}this.setColumnPosition(positions);this.setColumnCount(indices.length);this.refresh()}};
  23.  AW.Grid.Controllers.Navigation=(function(){var c1=[],r1=[];function sync1(){c1=this.getSelectedColumns().concat();r1=this.getSelectedRows().concat()}function sync2(){var mode=this.getCurrentSelection();var c2=this.getSelectedColumns();var r2=this.getSelectedRows();var i,j,x1={},x2={};if(mode=="cell"){for(i=0;i<c1.length;i++){x1[c1[i]]={};for(j=0;j<r1.length;j++){x1[c1[i]][r1[j]]=true}}for(i=0;i<c2.length;i++){x2[c2[i]]={};for(j=0;j<r2.length;j++){x2[c2[i]][r2[j]]=true}}for(i=0;i<c1.length;i++){for(j=0;j<r1.length;j++){if((!x2[c1[i]] || !x2[c1[i]][r1[j]])&& this.getCellSelected(c1[i],r1[j])){this.setCellSelected(false,c1[i],r1[j])}}}for(i=0;i<c2.length;i++){for(j=0;j<r2.length;j++){if((!x1[c2[i]] || !x1[c2[i]][r2[j]])&& !this.getCellSelected(c2[i],r2[j])){this.setCellSelected(true,c2[i],r2[j])}}}}else if(mode=="row"){for(i=0;i<r1.length;i++){x1[r1[i]]=true}for(i=0;i<r2.length;i++){x2[r2[i]]=true}for(i=0;i<r1.length;i++){if(!x2[r1[i]] && this.getRowSelected(r1[i])){this.setRowSelected(false,r1[i])}}for(i=0;i<r2.length;i++){if(!x1[r2[i]] && !this.getRowSelected(r2[i])){this.setRowSelected(true,r2[i])}}}}function syncRows(value,index){var i,a=this.getSelectedRows();for(i=0;i<a.length;i++){if(a[i]==index){if(!value){a=a.concat();a.splice(i,1);this.setSelectedRows(a)}return}}if(value){a=a.concat(index);this.setSelectedRows(a)}}return{onSelectedColumnsChanging:sync1,onSelectedColumnsChanged:sync2,onSelectedRowsChanging:sync1,onSelectedRowsChanged:sync2,onRowSelectedChanged:syncRows,onSelectionModeChanged:function(mode){switch(mode){case "none":this.setController("selection",{});this.setCurrentSelection("none");break;case "single-cell":this.setController("selection",AW.Grid.Controllers.SingleCell);this.setCurrentSelection("cell");break;case "single-row":this.setController("selection",AW.Grid.Controllers.SingleRow);this.setCurrentSelection("row");break;case "multi-cell":this.setController("selection",AW.Grid.Controllers.MultiCell);this.setCurrentSelection("cell");break;case "multi-row":this.setController("selection",AW.Grid.Controllers.MultiRow);this.setCurrentSelection("row");break;case "multi-row-marker":this.setController("selection",AW.Grid.Controllers.MultiRowMarker);this.setCurrentSelection("row");var checkbox=new AW.Templates.CheckedItem;this.setCellTemplate(checkbox,0);break}}}})();
  24.  AW.Grid.Controllers.Sort={doSort:function(src,index,header){if(this.$edit){return}if(!(header=="0" || typeof(header)=="undefined")){return}var format=this.getCellFormat(index);function compare(values,pos,dir){var greater=1,less=-1;if(dir=="descending"){greater=-1;less=1}var equal=function(i,j){var a=pos[i];var b=pos[j];if(a > b){return 1}if(a < b){return -1}return 0};var error=function(){return 0};var types={"undefined":0,"boolean":1,"number":2,"string":3,"object":4,"function":5};if(format){return format.comparator(values,greater,less,equal,error)}else if("".localeCompare){return function(i,j){try{var a=values[i],b=values[j],x,y;if(typeof(a)!=typeof(b)){x=types[typeof(a)];y=types[typeof(b)];if(x > y){return greater}if(x < y){return less}}else if(typeof(a)=="number"){if(a > b){return greater}if(a < b){return less}return equal(i,j)}else{return(greater *((""+a).localeCompare(b)))|| equal(i,j)}}catch(e){return error(i,j,e)}}}else{return function(i,j){try{var a=values[i],b=values[j],x,y;if(typeof(a)!=typeof(b)){x=types[typeof(a)];y=types[typeof(b)];if(x > y){return greater}if(x < y){return less}}else{if(a > b){return greater}if(a < b){return less}}return equal(i,j)}catch(e){return error(i,j,e)}}}}var direction=this.getSortDirection(index);if(direction !="ascending"){direction="ascending"}else{direction="descending"}if(src=="ascending" || src=="descending"){direction=src}var i,value={},pos={};var offset=this.getRowOffset();var count=this.getRowCount();var rows=this.getRowIndices();if(!rows){rows=[];for(i=0;i<count;i++){rows[i]=i+offset}}else{rows=rows.slice(offset,offset+count)}for(i=0;i<rows.length;i++){value[rows[i]]=this.getCellValue(index,rows[i]);pos[rows[i]]=i}rows.sort(compare(value,pos,direction));var a=[];for(i=0;i<offset;i++){a[i]=i}rows=a.concat(rows);var old=this.getSortColumn();if(old !=-1){this.setSortDirection("",old)}this.setSortColumn(index);this.setSortDirection(direction,index);this.setRowIndices(rows)},onHeaderClicked:function(src,index,header){if(this.$active){AW.Grid.Controllers.Sort.doSort.call(this,src,index,header)}}};
  25.  AW.Grid.Controllers.Overflow={onScrollLeftChanged:function(x){var e=this.getScrollTemplate().element();if(e){e.firstChild.scrollLeft=x}},onScrollTopChanged:function(y){var e=this.getScrollTemplate().element();if(e){e.firstChild.scrollTop=y}},onScrollWidthChanged:function(w){var e=this.getScrollTemplate().element();if(e){e.firstChild.firstChild.style.width=w+"px";if(AW.ie){e.firstChild.className+=""}}},onScrollHeightChanged:function(h){var e=this.getScrollTemplate().element();if(e){e.firstChild.firstChild.style.height=h+"px";if(AW.ie){e.firstChild.className+=""}}},onScrollBarsChanged:function(x){this.getScrollTemplate().refreshClasses()},adjustScrollBars:function(){var e=this.getScrollTemplate().element();if(!e){return}if(AW.gecko){this.setTimeout(function(){try{e.lastChild.style.overflow="auto";e=null}catch(err){}})}var s,x,y;var l=this.getScrollLeft();var t=this.getScrollTop();var w=this.getScrollWidth();var h=this.getScrollHeight();var ww=e.offsetWidth;var hh=e.offsetHeight;if(AW.ie6 && AW.strict){this.setTimeout(function(){try{e.lastChild.style.width=(ww-20)+"px";e.lastChild.style.height=(hh-20)+"px";e=null}catch(err){}})}if(w < ww && h < hh){s="none";x=0;y=0}else if(w < ww - 16){s="vertical";x=20;y=0}else if(h < hh - 16){s="horizontal";x=0;y=20}else{s="both";x=20;y=20}if(this.getScrollBars()!=s){this.setScrollBars(s)}if(w - l < ww - x){var ll=Math.max(0,w - ww+x);if(ll !=l){this.setScrollLeft(ll)}}if(h - t < hh - y){var tt=Math.max(0,h - hh+y);if(tt !=t){this.setScrollTop(tt)}}this.setContentHeight(hh - y - this.getContentHeight(0)- this.getContentHeight(2),1);this.setContentWidth(ww - x - this.getContentWidth(0)- this.getContentWidth(2),1)},onColumnWidthChanged:function(){var i,a=this.getColumnIndices();var lw=0,lc=this.$extended?this.getFixedLeft():0;var mw=0,c=this.getColumnCount();var rw=0,rc=this.$extended?this.getFixedRight():0;lw=this.getSelectorVisible()?this.getSelectorWidth():lw;if(!this.$extended){mw=lw;lw=0}for(i=0;i<lc;i++){lw+=this.getColumnWidth(a?a[i]:i)}for(i=c-rc;i<c;i++){rw+=this.getColumnWidth(a?a[i]:i)}this.setContentWidth(lw,0);this.setContentWidth(rw,2)},paint:function(){var x=this.getScrollLeft();var y=this.getScrollTop();this.raiseEvent("adjustScrollWidth");this.raiseEvent("adjustScrollHeight");if(x){this.raiseEvent("onScrollLeftChanged",x)}if(y){this.raiseEvent("onScrollTopChanged",y)}this.raiseEvent("adjustScrollBars");if(x){this.setTimeout(function(){this.raiseEvent("onScrollLeftChanged",x)})}if(y){this.setTimeout(function(){this.raiseEvent("onScrollTopChanged",y)})}if(AW.ie){var e=this.getScrollTemplate().element();if(e){e.className+="";e=null}}}};
  26.  AW.Grid.Controllers.Scroll={onScrollLeftChanged:function(x){var e1=this.getRowsTemplate().element();var e2=this.getHeadersTemplate().element();var e3=this.getFootersTemplate().element();if(AW.gecko){AW.ignoreMouse=true}if(e1){e1.parentNode.scrollLeft=x}if(e2){e2.parentNode.scrollLeft=x}if(e3){e3.parentNode.scrollLeft=x}if(AW.gecko){this.setTimeout(function(){AW.ignoreMouse=false})}},onScrollTopChanged:function(y){var e=this.getRowsTemplate().element();if(AW.gecko){AW.ignoreMouse=true}if(e){e.parentNode.scrollTop=y}if(AW.gecko){this.setTimeout(function(){AW.ignoreMouse=false})}},adjustScrollWidth:function(){var a=this.getColumnIndices();var c=this.getColumnCount();var w=this.getSelectorVisible()?this.getSelectorWidth():0;for(var i=0;i<c;i++){w+=this.getColumnWidth(a?a[i]:i)}this.setScrollWidth(w+3)},adjustScrollHeight:function(){var h=this.getRowCount()* this.getRowHeight();h+=this.getContentHeight(0);h+=this.getContentHeight(2);this.setScrollHeight(h+3)}};
  27.  AW.Grid.Controllers.Width=(function(){function adjustScrollWidth(){if(this.element()){this.setTimeout(function(){this.raiseEvent("adjustScrollWidth");this.raiseEvent("adjustScrollBars");if(AW.ie && this.getScrollTemplate().element()){this.getScrollTemplate().element().className+=""}})}}function adjustScrollHeight(){if(this.element()){this.setTimeout(function(){this.raiseEvent("adjustScrollHeight");this.raiseEvent("adjustScrollBars")})}}function setStyle(selector,attribute,value){try{var i,ss=document.styleSheets[document.styleSheets.length-1];var rules=AW.getRules(ss);for(i=0;i<rules.length;i++){if(rules[i].selectorText==selector){rules[i].style[attribute]=value;return}}AW.addRule(ss,selector,attribute+":"+value)}catch(err){}}return{onColumnWidthChanged:function(width,column){if(typeof(width)=="object"){if(this.element()){this.element().innerHTML=""}var i,a=[];for(i in width){if(!a[i]){setStyle("#"+this.getId()+" .aw-column-"+i,"width",(width[i] - AW.dx)+"px")}}if(this.element()){this.refresh()}}else if(column===undefined){setStyle("#"+this.getId()+" .aw-grid-cell","width",(width - AW.dx)+"px");setStyle("#"+this.getId()+" .aw-grid-header","width",(width - AW.dx)+"px");setStyle("#"+this.getId()+" .aw-grid-footer","width",(width - AW.dx)+"px")}else{setStyle("#"+this.getId()+" .aw-column-"+column,"width",(width - AW.dx)+"px")}adjustScrollWidth.call(this)},onSelectorWidthChanged:function(width){setStyle("#"+this.getId()+" .aw-row-selector","width",(width - AW.dx)+"px");adjustScrollWidth.call(this)},onRowHeightChanged:function(height){setStyle("#"+this.getId()+" .aw-grid-row","height",(height - AW.dy)+"px");adjustScrollHeight.call(this)}}})();
  28.  AW.Grid.Controllers.Virtual=(function(){var serial=0;function virtual(){var s=++serial;this.setTimeout(function(){var i=0,ii,a=[];var count=this.getRowProperty("count");var offset=this.getRowProperty("offset");var indices=this.getRowProperty("indices");var scroll=this.getScrollProperty("top");var row=this.getRowProperty("height");var top=Math.floor(scroll/row);this.setVirtualTop(top);var client=Math.floor(this.getContentHeight(1)/row);if(!client){client=40}var x1=Math.min(count,Math.max(0,top - 20));var x2=Math.min(count,top);var x3=Math.min(count,top+client);var x4=Math.min(count,top+client+20);var i1=x3;var i2=x2-1;function rr(){if(s !=serial || this.$edit){return}if(i1 < x4){ii=indices?indices[i1+offset]:i1+offset;this.getRowTemplate(ii).refresh();i1++}if(i2 >=x1){ii=indices?indices[i2+offset]:i2+offset;this.getRowTemplate(ii).refresh();i2--}if(i1 < x4 || i2 >=x1){this.setTimeout(rr)}}rr.call(this)})}return{onCurrentRowChanged:function(i){var current=this.getCurrentRow();var scroll=this.getScrollProperty("top");var height=this.getRowProperty("height");var top=(this.getRowPosition(current)-this.getRowOffset())* height;var bottom=top+height;var max=this.getContentHeight(1);if(!max){return}if(top < scroll){this.setScrollTop(top)}if(max+scroll < bottom){this.setScrollTop(bottom - max)}if(AW.ie && this.element()){var h=this.element().offsetHeight}},onCurrentColumnChanged:function(index){var scroll=this.getScrollProperty("left");var col=this.getColumnPosition(index);var i,a=this.getColumnIndices();var lw=0,lc=this.$extended?this.getFixedLeft():0;var mw=0,c=this.getColumnCount();var rw=0,rc=this.$extended?this.getFixedRight():0;lw=this.getSelectorVisible()?this.getSelectorWidth():lw;if(!this.$extended){mw=lw;lw=0}for(i=0;i<lc;i++){lw+=this.getColumnWidth(a?a[i]:i)}for(i=lc;i<Math.min(col,c-rc-1);i++){mw+=this.getColumnWidth(a?a[i]:i)}for(i=c-rc;i<c;i++){rw+=this.getColumnWidth(a?a[i]:i)}if(!col){mw=0}if(mw < scroll){this.setTimeout(function(){this.setScrollLeft(mw)});return}var max=this.getContentWidth(1);var right=mw+this.getColumnWidth(index);if(max+scroll < right){this.setTimeout(function(){this.setScrollLeft(right - max)})}},onScrollTopChanging:function(scroll){if(!this.getVirtualMode()|| this.getScrollTop()==scroll){return}var s=++serial;var row=this.getRowHeight();var top=Math.floor(scroll/row);if(Math.abs(top - this.getVirtualTop())< 6){this.setTimeout(refreshRows,1000);return}function refreshRows(){if(s !=serial || this.$edit){return}this.getRowsTemplate().refresh();virtual.call(this)}this.setTimeout(refreshRows,200)},paint:function(){if(!this.getVirtualMode()){return}virtual.call(this)}}})();
  29.  AW.Grid.Controllers.Grid={onRowsTemplateChanged:function(rows){rows.mapTemplate("item","row");rows.mapModel("view","row")},onRowTemplateChanged:function(row){row.setAttribute("aw","row");row.setClass("grid","row");row.setClass("row",function(){return this.$0});row.setClass("rows",function(){return this.getRowProperty("state")|| "normal"});row.setClass("alternate",function(){return this.getRowProperty("position")% 2?"odd":"even"});row.mapTemplate("item",function(i){return this.$owner.getCellTemplate(i,this.$0)});row.mapTemplate("selector",function(){return this.$owner.getSelectorTemplate(this.$0)});row.mapModel("view","column")},onCellTemplateChanged:function(cell){cell.setAttribute("aw","cell");cell.setAttribute("title","");cell.setClass("grid","cell");cell.setClass("column",function(){return this.$0});cell.setClass("cells",function(){return this.getControlProperty("state")|| "normal"});cell.mapModel("control","cell");cell.getStateProperty=function(p){return this.$owner.getRowProperty(p,this.$1)};cell.setStateProperty=function(p,v){this.$owner.setRowProperty(p,v,this.$1)}},onHeadersTemplateChanged:function(headers){headers.setClass("grid","headers");headers.setClass("header",function(){return this.$0 || "0"});headers.setStyle("height",function(){return this.getHeaderProperty("height")- AW.dy+"px"});headers.getContent("end").setClass("grid","header");headers.mapTemplate("item",function(i){return this.$owner.getHeaderTemplate(i,this.$0)+this.$owner.getSeparatorTemplate(i,this.$0)});headers.mapTemplate("selector",function(){return this.$owner.getTopSelectorTemplate(this.$0)+(this.$owner.getSelectorResizable()&& !this.$0?this.$owner.getSeparatorTemplate():"")});headers.mapModel("view","column")},onFootersTemplateChanged:function(footers){footers.setClass("grid","footers");footers.setClass("footer",function(){return this.$0 || "0"});footers.setStyle("height",function(){return this.getFooterProperty("height")- AW.dy+"px"});footers.mapTemplate("item",function(i){return this.$owner.getFooterTemplate(i,this.$0)});footers.mapTemplate("selector","bottomSelector");footers.mapModel("view","column")},onHeaderTemplateChanged:function(header){if(!header.getAttribute("aw")){header.setAttribute("aw","header")}header.setClass("grid","header");header.setClass("column",function(){return this.$0});header.mapModel("control","header");header.getStateProperty=function(p){return this.$owner.getColumnProperty(p,this.$0)};header.setStateProperty=function(p,v){this.$owner.setColumnProperty(p,v,this.$0)}},onFooterTemplateChanged:function(footer){if(!footer.getAttribute("aw")){footer.setAttribute("aw","footer")}footer.setClass("grid","footer");footer.setClass("column",function(){return this.$0});footer.mapModel("control","footer")},onSelectorTemplateChanged:function(selector){if(!selector.getAttribute("aw")){selector.setAttribute("aw","selector")}selector.setClass("row","selector");selector.mapModel("control","selector");selector.mapModel("state","row")},onTopSelectorTemplateChanged:function(selector){if(!selector.getAttribute("aw")){selector.setAttribute("aw","topSelector")}selector.setClass("grid","header");selector.setClass("row","selector");selector.mapModel("control","top")},onBottomSelectorTemplateChanged:function(selector){if(!selector.getAttribute("aw")){selector.setAttribute("aw","bottomSelector")}selector.setClass("row","selector");selector.mapModel("control","bottom")},onContentTemplateChanged:function(content){content.mapModel("panel","content");content.mapTemplate("panel",function(i){switch(i){case 0:return this.getHeadersTemplate();case 1:return this.getRowsTemplate();case 2:return this.getFootersTemplate()}})},onPopupTemplateChanged:function(popup){popup.onItemClicked=function(event,i){try{var s=this.getItemText(i);this.$owner.setCellText(s,this.$0,this.$1);AW.$popup.hidePopup();var e=this.$owner.getCellTemplate(this.$0,this.$1).getContent("box/text").element();if(AW.ie){e.innerHTML=s}else{e.value=s}e=null}catch(e){}}}};
  30.  AW.Grid.Controllers.Extended={onContentTemplateChanged:function(content){content.mapModel("panel","content");content.mapTemplate("panel",function(i,j){switch(i){case 0:return this.$owner.getTopTemplate(j);case 1:return this.$owner.getRowsTemplate(j);case 2:return this.$owner.getBottomTemplate(j)}})},onTopTemplateChanged:function(top){top.mapTemplate("item","headers");top.mapModel("view","header")},onBottomTemplateChanged:function(bottom){bottom.mapTemplate("item","footers");bottom.mapModel("view","footer")}};
  31.  AW.Grid.Controllers.SingleCell={onKeyUp:"selectUpperCell",onKeyDown:"selectLowerCell",onKeyCtrlUp:"selectTopCell",onKeyCtrlDown:"selectBottomCell",onKeyLeft:"selectPreviousCell",onKeyRight:"selectNextCell",onKeyCtrlLeft:"selectFirstCell",onKeyCtrlRight:"selectLastCell",onKeyHome:"selectFirstCell",onKeyEnd:"selectLastCell",onKeyCtrlHome:"selectTopLeftCell",onKeyCtrlEnd:"selectBottomRightCell",onKeyPageUp:"selectPageUpCell",onKeyPageDown:"selectPageDownCell",onKeyF2:"editCurrentCell",onKeyEnter:"editCurrentCell",onCellMouseDown:"selectClickedCell",onCellDoubleClicked:"editCurrentCell"};
  32.  AW.Grid.Controllers.SingleRow={onKeyUp:"selectPreviousRow",onKeyDown:"selectNextRow",onKeyHome:"selectFirstRow",onKeyEnd:"selectLastRow",onKeyCtrlHome:"selectFirstRow",onKeyCtrlEnd:"selectLastRow",onKeyPageUp:"selectPageUpRow",onKeyPageDown:"selectPageDownRow",onRowMouseDown:"selectClickedRow"};
  33.  AW.Grid.Controllers.MultiCell={onKeyUp:"selectUpperCell",onKeyDown:"selectLowerCell",onKeyCtrlUp:"selectTopCell",onKeyCtrlDown:"selectBottomCell",onKeyLeft:"selectPreviousCell",onKeyRight:"selectNextCell",onKeyCtrlLeft:"selectFirstCell",onKeyCtrlRight:"selectLastCell",onKeyHome:"selectFirstCell",onKeyEnd:"selectLastCell",onKeyCtrlHome:"selectTopLeftCell",onKeyCtrlEnd:"selectBottomRightCell",onKeyPageUp:"selectPageUpCell",onKeyPageDown:"selectPageDownCell",onKeyShiftUp:"includeUpperCell",onKeyShiftDown:"includeLowerCell",onKeyShiftLeft:"includePreviousCell",onKeyShiftRight:"includeNextCell",onKeyShiftPageUp:"includePageUpCell",onKeyShiftPageDown:"includePageDownCell",onKeyF2:"editCurrentCell",onKeyEnter:"editCurrentCell",onCellShiftMouseDown:"includeClickedCell",onCellMouseDown:"selectClickedCell",onCellDoubleClicked:"editCurrentCell"};
  34.  AW.Grid.Controllers.MultiRow={onKeyUp:"selectPreviousRow",onKeyDown:"selectNextRow",onKeyHome:"selectFirstRow",onKeyEnd:"selectLastRow",onKeyCtrlHome:"selectFirstRow",onKeyCtrlEnd:"selectLastRow",onKeyPageUp:"selectPageUpRow",onKeyPageDown:"selectPageDownRow",onKeyShiftUp:"includePreviousRow",onKeyShiftDown:"includeNextRow",onKeyShiftHome:"includeFirstRow",onKeyShiftEnd:"includeLastRow",onKeyCtrlShiftHome:"includeFirstRow",onKeyCtrlShiftEnd:"includeLastRow",onKeyShiftPageUp:"includePageUpRow",onKeyShiftPageDown:"includePageDownRow",onRowClicked:"selectClickedRow",onRowCtrlClicked:"toggleClickedRow",onRowShiftClicked:"includeClickedRow"};
  35.  AW.Grid.Controllers.MultiRowMarker={onKeyUp:"gotoPreviousRow",onKeyDown:"gotoNextRow",onKeyHome:"gotoFirstRow",onKeyEnd:"gotoLastRow",onKeyPageUp:"gotoPageUpRow",onKeyPageDown:"gotoPageDownRow",onRowSelectedChanged:function(v,i){this.getRowTemplate(i).refresh()}};
  36.  AW.Grid.Separator=AW.System.Template.subclass();AW.Grid.Separator.create=function(){var obj=this.prototype;obj.setClass("grid","separator");obj.setClass("resizable",function(){return this.getColumnProperty("resizable")?true:false});obj.setEvent("onmousedown",function(event){if(!this.getColumnProperty("resizable")){return false}var start=event.screenX;var self=this;var width=self.element().previousSibling.offsetWidth;var scroll=self.element().parentNode.parentNode.scrollLeft;function doResize(event){var w=width+event.screenX - start;w=w > 9?w:9;self.element().previousSibling.style.width=(w - AW.dx)+"px"}function endResize(event){var w=width+event.screenX - start;w=w > 9?w:9;var e=self.element();AW.detachEvent(e,"onmousemove",doResize);AW.detachEvent(e,"onmouseup",endResize);AW.detachEvent(e,"onlosecapture",endResize);AW.releaseCapture(e);if(AW.gecko){try{e.parentNode.parentNode.scrollLeft=scroll;e.parentNode.focus()}catch(err){}}var id=e.previousSibling.id;if(id.match("header")){self.$owner.setColumnProperty("width",w,self.$0)}else if(id.match("topSelector")){self.$owner.setSelectorProperty("width",w)}e.previousSibling.style.width="";e=null}var e=AW.srcElement(event);AW.setCapture(e);AW.attachEvent(e,"onmousemove",doResize);AW.attachEvent(e,"onmouseup",endResize);AW.attachEvent(e,"onlosecapture",endResize);e=null;event.cancelBubble=true})};
  37.  AW.Grid.Header=AW.Templates.ImageText.subclass();AW.Grid.Header.create=function(){var obj=this.prototype;var _super=this.superclass.prototype;function _direction(){return this.getSortProperty("direction")|| "none"}obj.setClass("sort",_direction);var sort=new AW.HTML.SPAN;sort.setClass("grid","sort");obj.setContent("box/text/sort",sort);obj.element=function(){if(typeof(this.$1)=="undefined" && this.$owner && this.$owner.$extended){return _super.element.call(this.$owner.getHeaderTemplate(this.$0,0))}else{return _super.element.call(this)}}};
  38.  AW.Grid.Row=AW.Templates.List.subclass();AW.Grid.Row.create=function(){var obj=this.prototype;var _super=this.superclass.prototype;obj.setClass("text","normal");if(AW.gecko){obj.setAttribute("tabIndex","-1")}var span=AW.HTML.SPAN;var space=new span;var box=new span;space.setClass("item","template");space.setClass("grid","cell");space.setClass("column","space");box.setClass("item","box");space.setContent("box",box);obj.setContent("end",space);obj.setContent("start",function(){return this.getSelectorProperty("visible")&& !this.$1?this.getSelectorTemplate():""});var items=obj.getContent("items");obj.setContent("items",function(){return this.$name=="row" && this.$owner._fast?"":items.call(this)});var refresh=obj.refresh;obj.refresh=function(){if(typeof(this.$1)=="undefined" && this.$owner.$extended){for(var i=0;i<3;i++){refresh.call(this.$owner.getRowTemplate(this.$0,i))}}else{refresh.call(this)}};var refreshClasses=obj.refreshClasses;obj.refreshClasses=function(){if(typeof(this.$1)=="undefined" && this.$owner.$extended){for(var i=0;i<3;i++){refreshClasses.call(this.$owner.getRowTemplate(this.$0,i))}}else{refreshClasses.call(this)}}};
  39.  AW.Grid.Rows=AW.Templates.List.subclass();AW.Grid.Rows.create=function(){var obj=this.prototype;var _super=this.superclass.prototype;obj.setClass("grid","view");obj.setContent("items",function(){var i,ii,a=[];var count=this.getViewProperty("count");var offset=this.getViewProperty("offset");var indices=this.getViewProperty("indices");var virtual=this.getVirtualProperty("mode");var clone=this.$owner.$clone;this.$owner.$clone=false;if(!virtual){for(i=0;i<count;i++){ii=indices?indices[i+offset]:i+offset;a[i]=this.getItemTemplate(ii).toString()}}else{var scroll=this.getScrollProperty("top");var height=this.getRowProperty("height");var top=Math.floor(scroll/height);var e=this.$owner.element();var client=0;if(e){client=Math.floor(e.offsetHeight/height)}e=null;if(client < 4){client=40}var x1=Math.min(count,Math.max(0,top - 50));var x2=Math.min(count,top);var x3=Math.min(count,top+client);var x4=Math.min(count,top+client+50);this.$owner._fast=true;for(i=x1;i<x2;i++){ii=indices?indices[i+offset]:i+offset;a[i]=this.getItemTemplate(ii).toString()}this.$owner._fast=false;for(i=x2;i<x3;i++){ii=indices?indices[i+offset]:i+offset;a[i]=this.getItemTemplate(ii).toString()}this.$owner._fast=true;for(i=x3;i<x4;i++){ii=indices?indices[i+offset]:i+offset;a[i]=this.getItemTemplate(ii).toString()}this.$owner._fast=false}this.$owner.$clone=clone;return a.join("")});var span=AW.HTML.SPAN;var top=new span;top.setClass("view","top");top.setStyle("height",function(){var virtual=this.getVirtualProperty("mode");if(!virtual){return 0}var scroll=this.getScrollProperty("top");var height=this.getRowProperty("height");var offset=Math.max(0,Math.floor(scroll/height)-50)* height;return offset+"px"});obj.setContent("start",top);var space=new span;var box=new span;space.setClass("item","template");space.setClass("row","selector");space.setClass("selector","space");box.setClass("item","box");space.setContent("box",box);obj.setContent("end",space);obj.refresh=function(){try{if(this.$owner.$active){var e=this.$owner.getContent("focus").element();if(AW.ie){var r=document.body.createTextRange();r.moveToElementText(e);r.select();r=null}e.focus();e=null}}catch(err){}if(typeof(this.$0)=="undefined" && this.$owner.$extended){for(var i=0;i<3;i++){_super.refresh.call(this.$owner.getRowsTemplate(i))}}else{_super.refresh.call(this)}}};
  40.  AW.Grid.Control=AW.System.Control.subclass();AW.Grid.Control.create=function(){var obj=this.prototype;var _super=this.superclass.prototype;obj.setClass("grid","control");obj.setClass("selectors",function(){return this.getSelectorVisible()?"visible":"hidden"});var sample=new AW.HTML.SPAN;sample.setClass("row","sample");sample.setClass("grid","row");obj.setContent("sample",sample);var box=new AW.HTML.SPAN;box.setClass("grid","box");box.setContent("html",function(){return this.getLayoutTemplate()});obj.setContent("box",box);var Grid=AW.Grid.Controllers;obj.setController("size",Grid.Size);obj.setController("cell",Grid.Cell);obj.setController("row",Grid.Row);obj.setController("view",Grid.View);obj.setController("actions",Grid.Actions);obj.setController("navigation",Grid.Navigation);obj.setController("selection",Grid.SingleCell);obj.setController("sort",Grid.Sort);obj.setController("overflow",Grid.Overflow);obj.setController("scroll",Grid.Scroll);obj.setController("width",Grid.Width);obj.setController("virtual",Grid.Virtual);obj.setController("grid",Grid.Grid);obj.defineTemplate("layout",function(){return this.getScrollTemplate()});obj.defineTemplate("scroll",new AW.Scroll.Bars);obj.defineTemplate("content",new AW.Panels.Horizontal);obj.defineTemplate("panel",function(){return ""});obj.defineTemplate("rows",new AW.Grid.Rows);obj.defineTemplate("row",new AW.Grid.Row);obj.defineTemplate("cell",new AW.Templates.Text);obj.defineTemplate("headers",new AW.Grid.Row);obj.defineTemplate("footers",new AW.Grid.Row);obj.defineTemplate("header",new AW.Grid.Header);obj.defineTemplate("footer",new AW.Templates.ImageText);obj.defineTemplate("separator",new AW.Grid.Separator);obj.defineTemplate("selector",new AW.Templates.ImageText);obj.defineTemplate("topSelector",new AW.Templates.ImageText);obj.defineTemplate("bottomSelector",new AW.Templates.ImageText);obj.defineTemplate("popup",new AW.System.Template);function value(i,j){var text=this.getCellText(i,j);var format=this.getCellFormat(i,j);return format?format.textToValue(text):AW.textToValue(text)}function position(i){return Number(i)}var models={scroll:{left:0,top:0,width:0,height:0,bars:"both"},cell:{text:"",image:"",link:"",value:value,data:"",format:"",tooltip:"",state:"",selected:false,editable:false},header:{text:"",image:"",link:"",value:value,data:"",format:"",tooltip:"",state:"",count:1,offset:0,height:20,visible:true},selector:{text:"",image:"",link:"",value:value,data:"",format:"",tooltip:"",state:"",width:20,resizable:false,visible:false},top:{text:"",image:"",link:"",value:value,data:"",format:"",tooltip:"",state:""},column:{offset:0,count:0,position:position,state:"",selected:false,resizable:true,width:100},row:{offset:0,count:0,position:position,state:"",selected:false,height:18},current:{row:0,column:0,selection:"cell"},selected:{},selection:{mode:"rows",multiple:false},sort:{column:-1,direction:""},fixed:{left:1,right:0},virtual:{mode:true,top:0},content:{width:0,height:0}};obj.defineModel("scroll",models.scroll);obj.defineModel("cell",models.cell);obj.defineModel("header",models.header);obj.defineModel("footer",models.header);obj.defineModel("selector",models.selector);obj.defineModel("top",models.top);obj.defineModel("bottom",models.top);obj.defineModel("column",models.column);obj.defineModel("row",models.row);obj.defineModel("current",models.current);obj.defineModel("selected",models.selected);obj.defineModel("selection",models.selection);obj.defineModel("sort",models.sort);obj.defineModel("virtual",models.virtual);obj.defineModel("content",models.content);obj.defineModel("panel",models.content);obj.defineModel("fixed",models.fixed);obj.defineColumnProperty("indices","",true);obj.defineRowProperty("indices","",true);obj.defineHeaderProperty("indices","",true);obj.defineFooterProperty("indices","",true);obj.defineSelectedProperty("rows",[],true);obj.defineSelectedProperty("columns",[],true);obj.setFooterVisible(false);obj.setContentWidth(100,0);obj.setContentHeight(20,0);obj.calculateRowState=function(i){var state="";if(this.getCurrentRow()==i){state="current"}if(this.getRowSelected(i)){state="selected"}this.setRowState(state,i)};obj.calculateCellState=function(i,j){var state="";if(this.getCurrentColumn()==i && this.getCurrentRow()==j){state="current"}if(this.getCellSelected(i,j)){state="selected"}this.setCellState(state,i,j)};if(AW.gecko){obj.toString=function(){function paint(){if(this.element()&& !this.element().offsetWidth){this.setTimeout(paint,1000)}else{this.raiseEvent("paint")}}this.setTimeout(paint);return _super.toString.call(this)}}var focus=new AW.HTML.SPAN;focus.setTag("a");focus.setClass("grid","focus");focus.setAttribute("tabIndex",function(){return this.getTabProperty("index")});if(AW.ie){focus.setAttribute("hidefocus","true");focus.setStyle("visibility","expression(AW.paint(this))")}obj.setContent("focus",focus);obj.focus=function(){try{this.getContent("focus").element().focus()}catch(err){}};obj.addRow=function(row){if(this.raiseEvent("onRowAdding",row)){return}var i,count=this.getRowCount();var a=this.getRowIndices();if(typeof(row)=="undefined"){row=count}if(this._cellModel && this._cellModel.addRow){this._cellModel.addRow(row)}if(!a){a=[];for(i=0;i<count;i++){a[i]=i}}a.push(row);var refresh=this.refresh;this.refresh=function(){};this.setRowIndices(a);this.setRowCount(count+1);this.setCurrentRow(row);this.setSelectedRows([row]);this.refresh=refresh;this.raiseEvent("onRowAdded",row)};obj.deleteRow=function(row){if(this.raiseEvent("onRowDeleting",row)){return}if(this._cellModel && this._cellModel.deleteRow){this._cellModel.deleteRow(row)}var i,count=this.getRowCount();var a=this.getRowIndices();if(!a){a=[];for(i=0;i<count;i++){a[i]=i}i=row}else{i=this.getRowPosition(row)}a.splice(i,1);var refresh=this.refresh;this.refresh=function(){};this.setRowIndices(a);this.setRowCount(count-1);this.setCurrentRow(i>0?a[i-1]:-1);this.setSelectedRows(i>0?[a[i-1]]:[]);this.refresh=refresh;this.raiseEvent("onRowDeleted",row)};obj.sort=function(column,direction){this.raiseEvent("doSort",direction,column)};var setCellModel=obj.setCellModel;obj.setCellModel=function(model){setCellModel.call(this,model);function dataToText(i,j){var data=this.getCellData(i,j);var format=this.getCellFormat(i,j);return format?format.dataToText(data):data}function dataToValue(i,j){var data=this.getCellData(i,j);var format=this.getCellFormat(i,j);return format?format.dataToValue(data):data}this.setCellText(dataToText);this.setCellValue(dataToValue)};obj.onControlDisabledChanged=function(value){this.setClass("disabled",value?"control":null);this.setAttribute("disabled",value?true:null)}};AW.UI.Grid=AW.Grid.Control;
  41.  AW.Grid.Extended=AW.Grid.Control.subclass();AW.Grid.Extended.create=function(){var obj=this.prototype;obj.$extended=true;obj.setController("extended",AW.Grid.Controllers.Extended);obj.setContentTemplate(new AW.Panels.Grid);obj.defineTemplate("top",new AW.Templates.List);obj.defineTemplate("bottom",new AW.Templates.List);var splitColumns=function(p,j){var left=this.$owner._fixedLeft,right=this.$owner._fixedRight;var i=this.$1;switch(p){case "count":if(i===0){return left}if(i==1){return this.$owner.getColumnProperty("count")- left - right}if(i==2){return right}return 0;case "offset":if(i===0){return 0}if(i==1){return left}if(i==2){return this.$owner.getColumnProperty("count")- right}return 0;default:return this.$owner.getColumnProperty(p,j)}};obj.getHeadersTemplate().mapModel("view",splitColumns);obj.getFootersTemplate().mapModel("view",splitColumns);obj.getRowTemplate().mapModel("view",splitColumns);var scrollController={onScrollLeftChanged:function(x){var e1=this.getRowsTemplate(1).element();var e2=this.getTopTemplate(1).element();var e3=this.getBottomTemplate(1).element();if(e1){e1.parentNode.scrollLeft=x}if(e2){e2.parentNode.scrollLeft=x}if(e3){e3.parentNode.scrollLeft=x}},onScrollTopChanged:function(y){var e1=this.getRowsTemplate(1).element();var e2=this.getRowsTemplate(0).element();var e3=this.getRowsTemplate(2).element();if(e1){e1.parentNode.scrollTop=y}if(e2){e2.parentNode.scrollTop=y}if(e3){e3.parentNode.scrollTop=y}},adjustScrollWidth:function(){var i,a=this.getColumnIndices();var lw=0,lc=this.getFixedLeft();var mw=0,c=this.getColumnCount();var rw=0,rc=this.getFixedRight();lw=this.getSelectorVisible()?this.getSelectorWidth():lw;for(i=0;i<lc;i++){lw+=this.getColumnWidth(a?a[i]:i)}for(i=lc;i<c-rc;i++){mw+=this.getColumnWidth(a?a[i]:i)}for(i=c-rc;i<c;i++){rw+=this.getColumnWidth(a?a[i]:i)}this.setScrollWidth(lw+mw+rw+3);lw=lw+"px";rw=rw+"px";var e1=this.getRowsTemplate(0).element();var e2=this.getTopTemplate(0).element();var e3=this.getBottomTemplate(0).element();if(e1){e1.parentNode.style.width=lw}if(e2){e2.parentNode.style.width=lw}if(e3){e3.parentNode.style.width=lw}if(AW.ie){if(e1){e1.parentNode.parentNode.style.paddingLeft=lw}if(e2){e2.parentNode.parentNode.style.paddingLeft=lw}if(e3){e3.parentNode.parentNode.style.paddingLeft=lw}}if(!AW.ie){if(e1){e1.parentNode.nextSibling.style.left=lw;e1.parentNode.nextSibling.style.right=rw}if(e2){e2.parentNode.nextSibling.style.left=lw;e2.parentNode.nextSibling.style.right=rw}if(e3){e3.parentNode.nextSibling.style.left=lw;e3.parentNode.nextSibling.style.right=rw}}e1=this.getRowsTemplate(2).element();e2=this.getTopTemplate(2).element();e3=this.getBottomTemplate(2).element();if(e1){e1.parentNode.style.width=rw}if(e2){e2.parentNode.style.width=rw}if(e3){e3.parentNode.style.width=rw}if(AW.ie){if(e1){e1.parentNode.parentNode.style.paddingRight=rw}if(e2){e2.parentNode.parentNode.style.paddingRight=rw}if(e3){e3.parentNode.parentNode.style.paddingRight=rw}}},adjustScrollHeight:function(){var h=this.getRowCount()* this.getRowHeight();h+=this.getContentHeight(0);h+=this.getContentHeight(2);this.setScrollHeight(h+3)}};obj.setController("scroll",scrollController)};
  42.  AW.Tree.Item=AW.Templates.ImageText.subclass();AW.Tree.Item.create=function(){var obj=this.prototype;obj.setClass("tree",function(){return this.getViewProperty("count")?"folder":"leaf"});obj.setClass("expanded",function(){return this.getViewProperty("expanded")?"true":"false"});var sign=new AW.HTML.SPAN;sign.setClass("tree","sign");sign.setEvent("onclick",function(){this.raiseEvent("onTreeSignClicked")});obj.setContent("box/sign",sign)};
  43.  AW.Tree.View=AW.System.Template.subclass();AW.Tree.View.create=function(){var obj=this.prototype;obj.setTag("span");obj.setClass("tree","view");obj.setContent("start",function(){return this.$0?this.getItemTemplate():""});obj.setContent("items",function(){if(this.$0 && !this.getViewProperty("expanded")){return ""}var i,ii,a=[];var count=this.getViewProperty("count");var offset=this.getViewProperty("offset");var indices=this.getViewProperty("indices");var clone=this.$owner.$clone;this.$owner.$clone=false;for(i=0;i<count;i++){ii=indices?indices[i+offset]:i+offset;a[i]=this.getContentTemplate(ii).toString()}this.$owner.$clone=clone;return a.join("")});obj.setContent("end","")};
  44.  AW.Tree.Group=AW.System.Template.subclass();AW.Tree.Group.create=function(){var obj=this.prototype;obj.setTag("span");obj.setClass("tree","view");obj.setContent("start",function(){return this.$0?this.getItemTemplate():""});obj.setContent("items",function(){if(this.$0 && !this.getViewProperty("expanded")){return ""}else{return this.getContentTemplate()}});obj.setContent("end","")};
  45.  AW.Tree.Control=AW.UI.List.subclass();AW.Tree.Control.create=function(){var obj=this.prototype;obj.defineTemplate("group",new AW.Tree.Group);obj.setItemTemplate(new AW.Tree.Item);obj.setScrollTemplate(function(){return this.getGroupTemplate(0)});obj.getContentTemplate().mapTemplate("item",function(i){return this.$owner.getGroupTemplate(i)});obj.defineViewProperty("expanded",false);obj.onTreeSignClicked=function(src,i){if(this.getViewIndices(i)){this.setViewExpanded(!this.getViewExpanded(i),i)}};obj.onViewExpandedChanged=function(e,i){this.getGroupTemplate(i).refresh()}};AW.UI.Tree=AW.Tree.Control;
  46.  AW.HTTP.Request=AW.System.Model.subclass();AW.HTTP.Request.create=function(){var obj=this.prototype;obj.defineProperty("URL");obj.defineProperty("async",true);obj.defineProperty("requestMethod","GET");obj.defineProperty("requestData","");obj.defineProperty("responseText",function(){return this._http?this._http.responseText:""});obj.defineProperty("responseXML",function(){return this._http?this._http.responseXML:""});obj.defineProperty("username",null);obj.defineProperty("password",null);obj.setNamespace=function(name,value){this._namespaces+=" xmlns:"+name+"=""+value+"""};obj._namespaces="";obj.setParameter=function(name,value){this["_"+name+"Parameter"]=value;if((this._parameters+" ").indexOf(" "+name+" ")< 0){this._parameters+=" "+name}};obj._parameters="";obj.setRequestHeader=function(name,value){this["_"+name+"Header"]=value;if((this._headers+" ").indexOf(" "+name+" ")< 0){this._headers+=" "+name}};obj._headers="";obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");obj.getResponseHeader=function(name){return this._http?this._http.getResponseHeader(name):""};obj.request=function(){var self=this;this._ready=false;var i,j,name,value,data="",params=this._parameters.split(" ");for(i=1;i<params.length;i++){name=params[i];value=this["_"+name+"Parameter"];if(typeof value=="function"){value=value()}if(typeof value=="object" && value.constructor==Array){for(j=0;j<value.length;j++){data+=encodeURIComponent(name)+"="+encodeURIComponent(value[j])+"&"}}else{data+=encodeURIComponent(name)+"="+encodeURIComponent(value)+"&"}}var URL=this._URL;if((this._requestMethod !="POST")&& data){URL+="?"+data;data=null}this._http=AW.createXMLHttpRequest();this._http.open(this._requestMethod,URL,this._async,this._username,this._password);var headers=this._headers.split(" ");for(i=1;i<headers.length;i++){name=headers[i];value=this["_"+name+"Header"];if(typeof value=="function"){value=value()}this._http.setRequestHeader(name,value)}this._http.send(data);if(this._async){this.setTimeout(wait,200)}else{returnResult()}function wait(){if(self._http.readyState==4){self._ready=true;returnResult()}else{self.setTimeout(wait,200)}}function returnResult(){var xml=self._http.responseXML;if(xml && xml.firstChild && xml.hasChildNodes()&& !(xml.firstChild && xml.firstChild.firstChild && xml.firstChild.firstChild.firstChild && xml.firstChild.firstChild.firstChild.nodeName=="parsererror")){self.response(xml);xml=null;return}xml=null;self.response(self._http.responseText)}};obj.response=function(result){if(this.$owner){this.$owner.refresh()}};obj.isReady=function(){return this._ready}};
  47.  AW.CSV.Table=AW.HTTP.Request.subclass();AW.CSV.Table.create=function(){var obj=this.prototype;obj.response=function(text){this._rows=text.split(/r*n/);if(!this._rows[this._rows.length-1]){this._rows.pop()}this._data=[];if(this.$owner){this.$owner.clearScrollModel();this.$owner.clearSelectedModel();this.$owner.clearSortModel();this.$owner.clearRowModel();this.$owner.setRowCount(this.getCount());this.$owner.refresh()}};obj._rows=[];obj._data=[];obj.getCount=function(){return this._rows.length};obj.getData=function(c,r){if(!this._data[r]){if(!this._rows[r]){return ""}this._data[r]=this._rows[r].replace(x1,s1).replace(x2,s2).split(s3)}return this._data[r][c] || ""};var x1=/(([^,t"]*)|"(([^"]|"")*)")(,|t|$)/g;var x2=/""/g;var s1="$2$3x01";var s2=""";var s3="x01"};
  48.  AW.XML.Table=AW.HTTP.Request.subclass();AW.XML.Table.create=function(){var obj=this.prototype;if(AW.gecko){var xpath=new XPathEvaluator()}obj.response=function(xml){this.setXML(xml);if(this.$owner){this.$owner.clearScrollModel();this.$owner.clearSelectedModel();this.$owner.clearSortModel();this.$owner.clearRowModel();this.$owner.setRowCount(this.getCount());this.$owner.refresh()}};obj.defineProperty("XML");obj.setXML=function(xml){if(!xml.nodeType){var s=""+xml;xml=new ActiveXObject("MSXML2.DOMDocument");xml.loadXML(s)}xml.setProperty("SelectionLanguage","XPath");if(this._namespaces){xml.setProperty("SelectionNamespaces",this._namespaces)}this._xml=xml;this._data=this._xml.selectSingleNode(this._dataPath);this._items=this._data?this._data.selectNodes(this._itemPath):null;this._ready=true};if(AW.gecko){obj.setXML=function(xml){if(!xml.nodeType){var parser=new DOMParser;xml=parser.parseFromString(""+xml,"text/xml")}else if(xml.nodeName=="XML" && xml.ownerDocument==document){var node=xpath.evaluate("*",xml,null,9,null).singleNodeValue;xml=document.implementation.createDocument("","",null);xml.appendChild(node)}namespaces={};var a=this._namespaces.split(" xmlns:");for(var i=1;i<a.length;i++){var s=a[i].split("=");namespaces[s[0]]=s[1].replace(/"/g,"")}this._ns={lookupNamespaceURI:function(prefix){return namespaces[prefix]}};this._xml=xml;this._data=xpath.evaluate(this._dataPath,this._xml,this._ns,9,null).singleNodeValue;this._items=this._data?xpath.evaluate(this._itemPath,this._data,this._ns,7,null):null;this._ready=true}}obj.getXML=function(){return this._xml};obj._dataPath="*";obj._itemPath="*";obj._valuePath="*";obj._valuesPath=[];obj._formats=[];obj.setColumns=function(array){this._valuesPath=array};obj.setRows=function(xpath){this._itemPath=xpath};obj.setTable=function(xpath){this._dataPath=xpath};obj.getCount=function(){if(!this._items){return 0}return AW.gecko?this._items.snapshotLength:this._items.length};obj.getData=function(i,j){var node=this.getNode(i,j);return node?(AW.ie?node.text:node.textContent):""};obj.getNode=function(j,i){if(!this._items || !this._items[i]){return null}if(this._valuesPath[j]){return this._items[i].selectSingleNode(this._valuesPath[j])}else{return this._items[i].selectNodes(this._valuePath)[j]}};if(AW.gecko){obj.getNode=function(c,r){if(!this._items){return null}var row=this._items.snapshotItem(r);if(!row){return null}if(this._valuesPath[c]){return xpath.evaluate(this._valuesPath[c],row,this._ns,9,null).singleNodeValue}else{return xpath.evaluate(this._valuePath,row,this._ns,7,null).snapshotItem(c)}}}};
  49.  document.documentElement.className+=AW._htmlClasses;