//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// AtlasValueAdd.js
// Microsoft AJAX Value Add Framework.
Sys.Component.prototype.get_dataContext =function(){return this._dataContext?this._dataContext :null;}
Sys.Component.prototype.set_dataContext =function(value){this._dataContext =value;}
Sys.UI.Control.prototype.get_dataContext =function(){var dc =Sys.UI.Control.callBaseMethod(this,'get_dataContext');if (!dc){var parent =this.get_parent();if (parent){dc =parent.get_dataContext();}
}
return dc;}
Sys.UI.Control.prototype.set_dataContext =Sys.Component.prototype.set_dataContext;Sys.UI.Behavior.prototype.get_dataContext =function(){var dc =Sys.UI.Behavior.callBaseMethod(this,'get_dataContext');if (!dc){if (this.control){dc =this.control.get_dataContext();}
else {var e =this.get_element();if(e){var c =e.control;if(c)dc =c.get_dataContext();}
}
}
return dc;}
Sys.UI.Behavior.prototype.set_dataContext =Sys.Component.prototype.set_dataContext;function _loadMozillaCompatLayer(w){w.HTMLElement.prototype.__defineGetter__('innerText',function(){return this.textContent;});w.HTMLElement.prototype.__defineSetter__('innerText',function(v){if (v){this.innerHTML =formatPlainTextAsHtml(v);}
else {this.innerHTML ='';}
});function formatPlainTextAsHtml(str){var sb =new Sys.StringBuilder();var numChars =str.length;var prevCh;for (var i=0;i <numChars;i++){var ch =str.charAt(i);switch (ch){case "<":sb.append("&lt;");break;case ">":sb.append("&gt;");break;case "\"":sb.append("&quot;");break;case "&":sb.append("&amp;");break;case " ":if (prevCh ==" "){sb.append("&nbsp;");}
else {sb.append(" ");}
break;case "\r":break;case "\n":sb.appendLine();sb.appendLine("<br />");break;default:sb.append(ch);break;}
prevCh =ch;}
return sb.toString();}
function selectNodes(doc,path,contextNode){contextNode =contextNode ?contextNode :doc;var xpath =new XPathEvaluator();var result =xpath.evaluate(path,contextNode,doc.createNSResolver(doc.documentElement),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var nodeList =new Array(result.snapshotLength);for(var i =0;i <result.snapshotLength;i++){nodeList[i]=result.snapshotItem(i);}
return nodeList;}
function selectSingleNode(doc,path,contextNode){path +='[1]';var nodes =selectNodes(doc,path,contextNode);if (nodes.length !=0){for (var i =0;i <nodes.length;i++){if (nodes[i]){return nodes[i];}
}
}
return null;}
w.XMLDocument.prototype.selectNodes =function(path,contextNode){return selectNodes(this,path,contextNode);}
w.XMLDocument.prototype.selectSingleNode =function(path,contextNode){return selectSingleNode(this,path,contextNode);}
w.XMLDocument.prototype.transformNode =function(xsl){var xslProcessor =new XSLTProcessor();xslProcessor.importStylesheet(xsl);var ownerDocument =document.implementation.createDocument("","",null);var transformedDoc =xslProcessor.transformToDocument(this);return transformedDoc.xml;}
w.XMLDOMParser =w.DOMParser;Node.prototype.selectNodes =function(path){var doc =this.ownerDocument;return doc.selectNodes(path,this);}
Node.prototype.selectSingleNode =function(path){var doc =this.ownerDocument;return doc.selectSingleNode(path,this);}
Node.prototype.__defineGetter__('baseName',function(){return this.localName;});Node.prototype.__defineGetter__('text',function(){return this.textContent;});Node.prototype.__defineSetter__('text',function(value){this.textContent =value;});Node.prototype.__defineGetter__('xml',function(){return (new XMLSerializer()).serializeToString(this);});DocumentFragment.prototype.getElementById =function(id){var nodeQueue =[];var childNodes =this.childNodes;var node;var c;for (c =0;c <childNodes.length;c++){node =childNodes[c];if (node.nodeType ==1){nodeQueue.queue(node);}
}
while (nodeQueue.length){node =nodeQueue.dequeue();if (node.id ==id){return node;}
childNodes =node.childNodes;if (childNodes.length !=0){for (c =0;c <childNodes.length;c++){node =childNodes[c];if (node.nodeType ==1){nodeQueue.queue(node);}
}
}
}
return null;}
DocumentFragment.prototype.createElement =function(tagName){return document.createElement(tagName);}
}
function _loadSafariCompatLayer(w){window["HTMLHtmlElement"]=document.createElement("html").constructor;function HTMLElement(){}
HTMLElement.prototype =HTMLHtmlElement.__proto__.__proto__;var HTMLDocument =document.constructor;var Text =document.createTextNode("").constructor;Node =Text;window.XMLDOMParser =function XMLDOMParser(){}
window.XMLDOMParser.prototype.parseFromString =function(input,contentType,node){var placeHolder =document.createElement("span");input =this._prepareString(input);placeHolder.innerHTML =input;var dom;for (var i =placeHolder.childNodes.length -1;i >=0;i--){if (placeHolder.childNodes[i].nodeType !=1){placeHolder.removeChild(placeHolder.childNodes[i]);}
}
this._parseChildNodes(placeHolder.childNodes);return placeHolder;}
window.XMLDOMParser.prototype._prepareString =function(input){input =input.replace(/<(\w+(:\w+)?)([^>]*?)\/>/g,"<$1$3></$1>");input =input.replace(/<image(.*?)>/g,"<image_$1>");input =input.replace(/<\/image>/g,"</image_>");return input;}
window.XMLDOMParser.prototype._parseChildNodes =function(childNodes){var tagName;for (var i =0;i <childNodes.length;i++){if (childNodes[i].nodeType ==1){tagName =childNodes[i].tagName;var col =tagName.indexOf(':');if (col !=-1){childNodes[i].tagPrefix =tagName.substr(0,col).toLowerCase();tagName =tagName.substr(col +1);}
childNodes[i].baseName =tagName.toLowerCase();this._parseChildNodes(childNodes[i].childNodes);}
}
}
}
function _loadSafariCompat2Layer(w){Sys.Preview.TypeDescriptor.prototype._addEvent =Sys.Preview.TypeDescriptor.prototype.addEvent;Sys.Preview.TypeDescriptor.prototype._addProperty =Sys.Preview.TypeDescriptor.prototype.addProperty;Sys.Preview.TypeDescriptor.prototype._addMethod =Sys.Preview.TypeDescriptor.prototype.addMethod;Sys.Preview.TypeDescriptor._createParameter =Sys.Preview.TypeDescriptor.createParameter;Sys.Preview.TypeDescriptor.prototype.addEvent =function(eventName){this._addEvent(eventName);var lcEventName =eventName.toLowerCase();if (eventName !=lcEventName){this._addEvent(lcEventName);this._getEvents()[lcEventName].name =eventName;}
}
Sys.Preview.TypeDescriptor.prototype.addProperty =function(propertyName,propertyType,readOnly){this._addProperty.apply(this,arguments);var lcPropertyName =propertyName.toLowerCase();if (propertyName !==lcPropertyName){var baseArguments =[];baseArguments.add(lcPropertyName);for (var a =1;a <arguments.length;a++){baseArguments.add(arguments[a]);}
this._addProperty.apply(this,baseArguments);this._getProperties()[lcPropertyName].name =propertyName;}
}
Sys.Preview.TypeDescriptor.prototype.addMethod =function(methodName,associatedParameters){if (associatedParameters){for (var i =associatedParameters.length -1;i >=0;i--){associatedParameters[i].name =associatedParameters[i].name.toLowerCase();}
}
this._addMethod(methodName,associatedParameters);}
Sys.Preview.TypeDescriptor.createParameter =function(parameterName,parameterType){return Sys.Preview.TypeDescriptor._createParameter(parameterName.toLowerCase(),parameterType);}
}
if (Sys.Browser.agent ===Sys.Browser.Firefox){_loadMozillaCompatLayer(window);}
else if(Sys.Browser.agent ===Sys.Browser.Safari){_loadSafariCompatLayer(window);}
Type.registerNamespace('Sys.Preview');window.XMLDOM =function(markup){if (!window.XMLDOMParser){var progIDs =['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];for (var i =0;i <progIDs.length;i++){try {var xmlDOM =new ActiveXObject(progIDs[i]);xmlDOM.async =false;xmlDOM.loadXML(markup);xmlDOM.setProperty('SelectionLanguage','XPath');return xmlDOM;}
catch (ex){}
}
return null;}
else {var domParser =new window.XMLDOMParser();return domParser.parseFromString(markup,'text/xml');}
}
Sys.Preview.IAction =function(){throw Error.notImplemented();}
Sys.Preview.IAction.prototype ={execute:function(){throw Error.notImplemented();},setOwner:function(){throw Error.notImplemented();}
}
Sys.Preview.IAction.registerInterface('Sys.Preview.IAction');//////////////////////////////////////////////////////////////////////////////
Sys.Preview.Attributes =new function(){this.defineAttribute =function(attributeName){this[attributeName]=attributeName;}
}
//////////////////////////////////////////////////////////////////////////////
Sys.Preview.TypeDescriptor =function(){var _properties ={};var _events ={};var _methods ={};var _attributes ={};this._getAttributes =function(){return _attributes;}
this._getEvents =function(){return _events;}
this._getMethods =function(){return _methods;}
this._getProperties =function(){return _properties;}
}
Sys.Preview.TypeDescriptor.registerClass('Sys.Preview.TypeDescriptor');Sys.Preview.TypeDescriptor.prototype.addAttribute =function(attributeName,attributeValue){this._getAttributes()[attributeName]=attributeValue;}
Sys.Preview.TypeDescriptor.prototype.addEvent =function(eventName){this._getEvents()[eventName]={name:eventName };}
Sys.Preview.TypeDescriptor.prototype.addMethod =function(methodName,associatedParameters){this._getMethods()[methodName]={name:methodName,parameters:associatedParameters };}
Sys.Preview.TypeDescriptor.prototype.addProperty =function(propertyName,propertyType,readOnly,associatedAttributes){if (!readOnly){readOnly =false;}
var attribs;if (associatedAttributes){attribs ={};for (var i =3;i <arguments.length;i +=2){var attribute =arguments[i];var value =arguments[i +1];attribs[attribute]=value;}
}
this._getProperties()[propertyName]={name:propertyName,type:propertyType,'readOnly':readOnly,attributes:attribs };}
Sys.Preview.TypeDescriptor.createParameter =function(parameterName,parameterType){return {name:parameterName,type:parameterType };}
Sys.Preview.TypeDescriptor.getTypeDescriptor =function(instance){var type =Object.getType(instance);var td =type._descriptor;if (!td &&!type._descriptorChecked){if (Sys.Preview.ITypeDescriptorProvider.isImplementedBy(instance)){td =instance.getDescriptor();}
else {td =Sys.Preview.TypeDescriptor.generateDescriptor(type);} type._descriptor =td;type._descriptorChecked =true;}
return td;}
Sys.Preview.TypeDescriptor.generateBaseDescriptor =function(instance){var baseType =instance.getBaseType();return Sys.Preview.TypeDescriptor.generateDescriptor(baseType);}
Sys.Preview.TypeDescriptor.generateDescriptor =function(type){var td =null;var current =type;while(current){if(current.descriptor){if(!td)td =new Sys.Preview.TypeDescriptor();Sys.Preview.TypeDescriptor.append(td,current.descriptor);}
current =current.getBaseType();}
return td;}
Sys.Preview.TypeDescriptor.append =function(td,descriptor){if (descriptor.properties){var length =descriptor.properties.length;for (var i =0;i <length;i++){var property =descriptor.properties[i];var propertyName =property.name;var associatedAttributes =property.attributes;var readOnly =property.readOnly?property.readOnly :false;if (!td._getProperties()[propertyName]){var args =[propertyName,property.type,readOnly];if(associatedAttributes){args.addRange(associatedAttributes);}
td.addProperty.apply(td,args);}
}
}
if (descriptor.events){var length =descriptor.events.length;for (var i =0;i <length;i++){var eventName =descriptor.events[i].name
if (!td._getEvents()[eventName]){td.addEvent(eventName);}
}
}
if (descriptor.methods){var length =descriptor.methods.length;for (var i =0;i <length;i++){var methodName =descriptor.methods[i].name;if (!td._getMethods()[methodName]){var params =descriptor.methods[i].params;if(!params)params =descriptor.methods[i].parameters;if (params){td.addMethod(methodName,params);}
else {td.addMethod(methodName);}
}
}
}
if (descriptor.attributes){var length =descriptor.attributes.length;for (var i =0;i <length;i++){var attributeName =descriptor.attributes[i].name
if (!td._getAttributes()[attributeName]){td.addAttribute(attributeName,descriptor.attributes[i].value);}
}
}
}
Sys.Preview.TypeDescriptor.unload =function(){}
Sys.Preview.TypeDescriptor._evaluatePath =function(instance,path){var part;var parts =path.split('.');var current =instance;for(var i=0;i <parts;i++){part =parts[i];current =current[part];if(!current)return null;}
return current;}
Sys.Preview.TypeDescriptor._setPath =function(instance,path,value){var current =instance;var parts =path.split('.');var part;for(var i=0;i <parts.length-1;i++){part =parts[i];current =current[part];if(!current)break;}
if(current){current[parts[parts.length-1]]=value;}
}
Sys.Preview.TypeDescriptor.getAttribute =function(instance,attributeName){var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(instance);return td._getAttributes()[attributeName];}
Sys.Preview.TypeDescriptor.getProperty =function(instance,propertyName,key){if (Sys.Preview.ICustomTypeDescriptor.isImplementedBy(instance)){return instance.getProperty(propertyName,key);}
var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(instance);if (!td){var field =instance[propertyName];if (field &&key){field =key.indexOf('.')===-1 ?(field[key]):(Sys.Preview.TypeDescriptor._evaluatePath(field,key));}
return field;}
var propertyInfo =td._getProperties()[propertyName];var getter =instance['get_'+propertyInfo.name];var object =getter.call(instance);if ((propertyInfo.type ===Object ||propertyInfo.type ===Sys.UI.DomElement)&&propertyInfo.readOnly &&key){object =key.indexOf('.')===-1 ?(object[key]):(Sys.Preview.TypeDescriptor._evaluatePath(object,key));}
return object;}
Sys.Preview.TypeDescriptor.setProperty =function(instance,propertyName,value,key){if (Sys.Preview.ICustomTypeDescriptor.isImplementedBy(instance)){instance.setProperty(propertyName,value,key);return;}
var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(instance);if (!td){if(!key ||!key.length){instance[propertyName]=value;}
else {if(key.indexOf('.')===-1){instance[propertyName][key]=value;}
else {Sys.Preview.TypeDescriptor._setPath(instance,key,value);}
}
return;}
var propertyInfo =td._getProperties()[propertyName];var propType =propertyInfo.type;if (!propertyInfo.readOnly){if(propType){if (propType !==String){if ((typeof(value)==='string')&&propType.parse){value =propertyInfo.type.parse(value);}
}
else if(!!value &&typeof(value)!=='string'){value =value.toString();}
}
var setter =instance['set_'+propertyInfo.name];setter.call(instance,value);}
else if ((propType ===Object ||propType ===Sys.UI.DomElement)&&key){var getter =instance['get_'+propertyInfo.name];var object =getter.call(instance);if(key.indexOf('.')===-1){object[key]=value;}
else {Sys.Preview.TypeDescriptor._setPath(object,key,value);}
}
}
Sys.Preview.TypeDescriptor.invokeMethod =function(instance,methodName,parameters){if (Sys.Preview.ICustomTypeDescriptor.isImplementedBy(instance)){return instance.invokeMethod(methodName,parameters);}
var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(instance);if (!td){return instance[methodName].call(instance);}
var methodInfo =td._getMethods()[methodName];var method =instance[methodInfo.name];if (!methodInfo.parameters ||!methodInfo.parameters.length){return method.call(instance);}
else {var arguments =[];for (var i =0;i <methodInfo.parameters.length;i++){var parameterInfo =methodInfo.parameters[i];var value =parameters[parameterInfo.name];var paramType =parameterInfo.type;if (value &&paramType &&(paramType !==String)&&(typeof(value)==='string')){value =parameterInfo.type.parse(value);}
arguments[i]=value;}
return method.apply(instance,arguments);}
}
Sys.Preview.TypeDescriptor.getPropertyType =function(instance,propertyName,key){if (Sys.Preview.ICustomTypeDescriptor.isImplementedBy(instance)){return Object;}
if (key){return Object;}
var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(instance);if(!td)return Object;var propertyInfo =td._getProperties()[propertyName];return propertyInfo.type ||null;}
if(Sys.Browser.agent ===Sys.Browser.Safari){_loadSafariCompat2Layer(window);}
Sys.Preview.MarkupContext =function(document,global,parentContext,dataContext){this._document =document;this._global =global;this._parentContext =parentContext;this._dataContext =dataContext ||null;this._objects ={};this._pendingReferences =[];this._pendingEndUpdates =[];}
Sys.Preview.MarkupContext.prototype ={_dataContextHidden:false,_opened:false,get_dataContext:function(){if (this._dataContextHidden){return null;}
return this._dataContext;},get_isGlobal:function(){return this._global;},addComponent:function(component,noRegisterWithApp){var id =component.get_id();if(id){this._addComponentByID(id,component,noRegisterWithApp);}
},removeComponent:function(component){var id =component.get_id();if(id){this._removeComponentByID(id);}
if(this._global &&Sys.Component.isInstanceOfType(component)){Sys.Application.removeComponent(object);} },findComponent:function(id,parent){if(parent){return Sys.Application.findComponent(id,parent);}
else {var object =this._objects[id];if (!object){var parent =this._parentContext ||Sys.Application;object =parent.findComponent(id);}
return object;}
},getComponents:function(){var res =[];var objects =this._objects;for (var name in objects){res[res.length]=objects[name];}
return res;},_addComponentByID:function(id,object,noRegisterWithApp){this._objects[id]=object;if(!noRegisterWithApp &&this._global &&Sys.Component.isInstanceOfType(object)){Sys.Application.addComponent(object);}
},addEndUpdate:function(instance){this._pendingEndUpdates.add(instance);},addReference:function(instance,propertyInfo,reference){this._pendingReferences.add({o:instance,p:propertyInfo,r:reference });},close:function(){this._opened =false;this._dataContext =null;var i;for (i =0;i <this._pendingReferences.length;i++){var pendingReference =this._pendingReferences[i];var instance =pendingReference.o;var propertyInfo =pendingReference.p;var propertyValue =pendingReference.r;var object =this.findComponent(propertyValue);var setter =instance['set_'+propertyInfo.name];setter.call(instance,object);}
this._pendingReferences =null;for (i =0;i <this._pendingEndUpdates.length;i++){this._pendingEndUpdates[i].endUpdate();}
this._pendingEndUpdates =null;},dispose:function(){if (!this._global){for (var o in this._objects){if (Sys.IDisposable.isImplementedBy(this._objects[o])){this._objects[o].dispose();}
this._objects[o]=null;}
}
this._document =null;this._parentContext =null;this._dataContext =null;this._objects =null;this._pendingReferences =null;this._pendingEndUpdates =null;},findElement:function(id){if (this._opened){var element =Sys.UI.DomElement.getElementById(id,this._document);if (!element &&this._parentContext){element =Sys.UI.DomElement.getElementById(id,this._parentContext);}
return element;}
return null;},hideDataContext:function(){if (!this._dataContextHidden){this._dataContextHidden =true;return true;}
return false;},open:function(){this._pendingReferences =[];this._pendingEndUpdates =[];this._opened =true;},restoreDataContext:function(){this._dataContextHidden =false;}
}
Sys.Preview.MarkupContext.registerClass('Sys.Preview.MarkupContext',null,Sys.IContainer);Sys.Preview.MarkupContext.createGlobalContext =function(){return new Sys.Preview.MarkupContext(document,true);}
Sys.Preview.MarkupContext.createLocalContext =function(documentFragment,parentContext,dataContext){return new Sys.Preview.MarkupContext(documentFragment,false,parentContext,dataContext);}
Sys.Preview.MarkupParser =new function(){}
Sys.Preview.MarkupParser.getNodeName =function(node){var name =node.baseName ?node.baseName :node.localName;if(!name){name =node.name;var i =name.indexOf(':');if(name &&i >-1){name =name.substr(i+1);} }
return name;}
Sys.Preview.MarkupParser.getNodePrefix =function(node){var prefix =node.prefix;if(!prefix)prefix =node.tagPrefix;return prefix;}
Sys.Preview.MarkupParser.getAttributePrefix =function(attrib){var prefix =attrib.name;if(!prefix)attrib.nodeName;if(prefix &&prefix.indexOf(':')>-1){return prefix.substr(0,prefix.indexOf(':'));}
return '';}
Sys.Preview.MarkupParser.initializeObject =function(instance,node,markupContext,prefixNamespaceMapping){var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(instance);if (!td){return null;}
var supportsBatchedUpdates =false;if ((instance.beginUpdate &&instance.endUpdate &&instance !==Sys.Application)){supportsBatchedUpdates =true;instance.beginUpdate();}
var i,a;var attr,attrName;var propertyInfo,propertyName,propertyType,propertyValue;var eventInfo,eventValue;var setter,getter;var properties =td._getProperties();var events =td._getEvents();var attributes =node.attributes;if (attributes){for (a =attributes.length -1;a >=0;a--){attr =attributes[a];attrName =attr.nodeName;if(attrName ==="id"&&Sys.UI.Control.isInstanceOfType(instance))continue;propertyInfo =properties[attrName];if (propertyInfo){propertyType =propertyInfo.type;propertyValue =attr.nodeValue;var delayedSet =false;if (propertyType ===Sys.UI.DomElement){propertyValue =markupContext.findElement(propertyValue);}
else if (propertyType ===Object){markupContext.addReference(instance,propertyInfo,propertyValue);delayedSet =true;}
if (!delayedSet){propertyName =propertyInfo.name;setter =instance['set_'+propertyName];if (propertyType !==Object &&propertyType !==Sys.UI.DomElement){if (propertyType ==Array){propertyValue =Array.parse('['+propertyValue +']');}
else if (propertyType &&propertyType !==String){propertyValue =propertyType.parse(propertyValue);}
}
setter.call(instance,propertyValue);}
}
else {eventInfo =events[attrName];if (eventInfo){var handler =Function.parse(attr.nodeValue);if (handler){eventValue =instance['add_'+eventInfo.name];eventValue.apply(instance,[handler]);}
}
else {}
}
}
}
var childNodes =node.childNodes;if (childNodes &&(childNodes.length !=0)){for (i =childNodes.length -1;i >=0;i--){var childNode =childNodes[i];if (childNode.nodeType !=1){continue;}
var nodeName =Sys.Preview.MarkupParser.getNodeName(childNode);propertyInfo =properties[nodeName];if (propertyInfo){propertyName =propertyInfo.name;propertyType =propertyInfo.type;if (propertyInfo.readOnly){getter =instance['get_'+propertyName];var nestedObject =getter.call(instance);if (propertyType ===Array){if (childNode.childNodes.length){var items =Sys.Preview.MarkupParser.parseNodes(childNode.childNodes,markupContext,prefixNamespaceMapping);for (var itemIndex =0;itemIndex <items.length;itemIndex++){nestedObject.add(items[itemIndex]);}
}
}
else if (propertyType ===Object){attributes =childNode.attributes;for (a =attributes.length -1;a >=0;a--){attr =attributes[a];nestedObject[attr.nodeName]=attr.nodeValue;}
}
else {Sys.Preview.MarkupParser.initializeObject(nestedObject,childNode,markupContext,prefixNamespaceMapping);}
}
else {propertyValue =null;if (propertyType ==String){propertyValue =childNode.text;}
else if (childNode.childNodes.length !=0){var valueNode;for (var childNodeIndex =0;childNodeIndex <childNode.childNodes.length;childNodeIndex++){if (childNode.childNodes[childNodeIndex].nodeType !=1){continue;}
valueNode =childNode.childNodes[childNodeIndex];break;}
if (valueNode){propertyValue =Sys.Preview.MarkupParser.parseNode(valueNode,markupContext,prefixNamespaceMapping);}
}
if (propertyValue){setter =instance['set_'+propertyName];setter.call(instance,propertyValue);}
}
}
else {eventInfo =events[nodeName];if (eventInfo){var actions =Sys.Preview.MarkupParser.parseNodes(childNode.childNodes,markupContext,prefixNamespaceMapping);if (actions.length){eventValue =instance["add_"+eventInfo.name];if(eventValue){for (var e =0;e <actions.length;e++){var action =actions[e];action.set_eventName(eventInfo.name);action.set_eventSource(instance);} }
}
}
else {var type =null;var upperName =nodeName.toUpperCase();if(upperName ==='BINDINGS'){type =Sys.Preview.BindingBase;}
else if(upperName ==='BEHAVIORS'){type =Sys.UI.Behavior;}
if(type){if (childNode.childNodes.length){var collection =Sys.Component.createCollection(instance);var items =Sys.Preview.MarkupParser.parseNodes(childNode.childNodes,markupContext,prefixNamespaceMapping);for (var itemIndex =0;itemIndex <items.length;itemIndex++){var item =items[itemIndex];collection.add(item);}
}
}
}
}
}
}
if (supportsBatchedUpdates){markupContext.addEndUpdate(instance);}
return instance;}
Sys.Preview.MarkupParser.parseNode =function(node,markupContext,prefixNamespaceMapping){var parsedObject =null;var tagName =Sys.Preview.MarkupParser.getNodeName(node);var tagPrefix =Sys.Preview.MarkupParser.getNodePrefix(node);if (!tagPrefix ||(tagPrefix.length ===0)){tagPrefix ='script';}
var tagType =Sys.Preview.MarkupParser._getTagType(prefixNamespaceMapping,tagPrefix,tagName);if (tagType){var parseMethod =tagType.parseFromMarkup;if (!parseMethod){var baseType =tagType.getBaseType();while (baseType){parseMethod =baseType.parseFromMarkup;if (parseMethod){break;}
baseType =baseType.getBaseType();}
tagType.parseFromMarkup =parseMethod;}
if (parseMethod){parsedObject =parseMethod.call(null,tagType,node,markupContext,prefixNamespaceMapping);}
}
return parsedObject;}
Sys.Preview.MarkupParser.parseNodes =function(nodes,markupContext,prefixNamespaceMapping){var objects =[];for (var i =0;i <nodes.length;i++){var objectNode =nodes[i];if (objectNode.nodeType !==1){continue;}
var processedObject =Sys.Preview.MarkupParser.parseNode(objectNode,markupContext,prefixNamespaceMapping);if (processedObject){objects.add(processedObject);}
}
return objects;}
Sys.Preview.MarkupParser.processDocument =function(markupContext){var scripts =[];var scriptElements =document.getElementsByTagName('script');for (var e =0;e <scriptElements.length;e++){if (scriptElements[e].type =='text/xml-script'){var scriptElement =scriptElements[e];var scriptMarkup =scriptElement.innerHTML;if (scriptMarkup.startsWith('<!--')){var startIndex =scriptMarkup.indexOf('<',1);var endIndex =scriptMarkup.lastIndexOf('>');endIndex =scriptMarkup.lastIndexOf('>',endIndex -1);scriptMarkup =scriptMarkup.substring(startIndex,endIndex +1);}
if (scriptMarkup.length ==0){continue;}
var scriptDOM =new XMLDOM(scriptMarkup);var scriptDocumentNode =scriptDOM.childNodes[0];scripts.add(scriptDocumentNode);}
}
Sys.Preview.MarkupParser.processDocumentScripts(markupContext,scripts);}
Sys.Preview.MarkupParser.processDocumentScripts =function(markupContext,scripts){markupContext.open();for (var s =0;s <scripts.length;s++){var componentNodes =[];var scriptDocumentNode =scripts[s];var prefixNamespaceMapping =Sys.Preview.MarkupParser._processPrefixMapping(markupContext,scriptDocumentNode);var scriptDocumentItemNodes =scriptDocumentNode.childNodes;for (var i =scriptDocumentItemNodes.length -1;i >=0;i--){var node =scriptDocumentItemNodes[i];if (node.nodeType !==1){continue;}
var nodeName =Sys.Preview.MarkupParser.getNodeName(node);if (nodeName)nodeName =nodeName.toLowerCase();if (nodeName ==='components'){for (var c =0;c <node.childNodes.length;c++){var componentNode =node.childNodes[c];if (componentNode.nodeType !==1){continue;}
componentNodes.add(componentNode);}
}
else if (nodeName ==='references'){}
} if (componentNodes.length){Sys.Preview.MarkupParser.parseNodes(componentNodes,markupContext,prefixNamespaceMapping);}
} markupContext.close();}
Sys.Preview.MarkupParser._processPrefixMapping =function(markupContext,scriptDocumentNode){var mapping ={};if(!scriptDocumentNode ||!scriptDocumentNode.attributes){return mapping;}
var attribs =scriptDocumentNode.attributes;for(var i=0;i <attribs.length;i++){var attrib =attribs[i];var attribName =Sys.Preview.MarkupParser.getNodeName(attrib);var prefix =Sys.Preview.MarkupParser.getAttributePrefix(attrib);if(prefix &&prefix.toUpperCase()==="XMLNS"){var attribValue =attrib.nodeValue;if((!attribValue)||(!attribValue.length)){continue;}
var list;if(attribValue ==='http://schemas.microsoft.com/xml-script/2005'){list =[Sys,Sys.UI,Sys.Net,Sys.Preview,Sys.Preview.UI,Sys.Preview.Net,Sys.Preview.Data,Sys.Preview.UI.Data,Sys.Preview.Services.Components];if(Sys.Preview.UI.Effects)list.add(Sys.Preview.UI.Effects);}
else {var start =attribValue.slice(0,12).toLowerCase();if(start ==="javascript:"){attribValue =attribValue.slice(11);if(!attribValue.length)continue;}
var nspaceList =attribValue.split(',');list =[];for(var j=0;j <nspaceList.length;j++){var nspaceName =nspaceList[j];if(nspaceName.startsWith(' '))nspaceName =nspaceName.trimStart();if(nspaceName.endsWith(' '))nspaceName =nspaceName.trimEnd();if(!nspaceName.length)continue;var nspace =null;try {nspace =eval(nspaceName)} catch(e){}
if(nspace){list.add(nspace);}
}
}
mapping[attribName.toUpperCase()]=list;}
}
return mapping;}
Sys.Preview.MarkupParser._getTagType =function(prefixNamespaceMapping,tagPrefix,tagName){var nspaceList =prefixNamespaceMapping[tagPrefix.toUpperCase()];if(!nspaceList)return null;var upperTagName =tagName.toUpperCase();for(var i=0;i <nspaceList.length;i++){var nspace =nspaceList[i];var type =Type.parse(tagName,nspace);if(typeof(type)==='function'){return type;}
}
if(upperTagName ==="APPLICATION"){return Sys._Application;}
return null;}
Sys.Preview.ICustomTypeDescriptor =function(){throw Error.notImplemented();}
Sys.Preview.ICustomTypeDescriptor.prototype ={getProperty:function(){throw Error.notImplemented();},setProperty:function(){throw Error.notImplemented();},invokeMethod:function(){throw Error.notImplemented();}
}
Sys.Preview.ICustomTypeDescriptor.registerInterface('Sys.Preview.ICustomTypeDescriptor');Sys.Preview.ITypeDescriptorProvider =function(){throw Error.notImplemented();}
Sys.Preview.ITypeDescriptorProvider.prototype ={getDescriptor:function(){throw Error.notImplemented();}
}
Sys.Preview.ITypeDescriptorProvider.registerInterface('Sys.Preview.ITypeDescriptorProvider');Sys.Preview.INotifyCollectionChanged =function(){throw Error.notImplemented();}
Sys.Preview.INotifyCollectionChanged.prototype ={add_collectionChanged:function(){throw Error.notImplemented();},remove_collectionChanged:function(){throw Error.notImplemented();}
}
Sys.Preview.INotifyCollectionChanged.registerInterface('Sys.Preview.INotifyCollectionChanged');Sys.Preview.NotifyCollectionChangedAction =function(){throw Error.invalidOperation();}
Sys.Preview.NotifyCollectionChangedAction.prototype ={Add:0,Remove:1,Reset:2
}
Sys.Preview.NotifyCollectionChangedAction.registerEnum('Sys.Preview.NotifyCollectionChangedAction');Sys.Preview.CollectionChangedEventArgs =function(action,changedItem){Sys.Preview.CollectionChangedEventArgs.initializeBase(this);this._action =action;this._changedItem =changedItem;}
Sys.Preview.CollectionChangedEventArgs.prototype ={get_action:function(){return this._action;},get_changedItem:function(){return this._changedItem;}
}
Sys.Preview.CollectionChangedEventArgs.descriptor ={properties:[{name:'action',type:Sys.Preview.NotifyCollectionChangedAction,readOnly:true},{name:'changedItem',type:Object,readOnly:true} ]}
Sys.Preview.CollectionChangedEventArgs.registerClass('Sys.Preview.CollectionChangedEventArgs',Sys.EventArgs);Sys.Preview.BindingDirection =function(){throw Error.invalidOperation();}
Sys.Preview.BindingDirection.prototype ={In:0,Out:1,InOut:2
}
Sys.Preview.BindingDirection.registerEnum('Sys.Preview.BindingDirection');Sys.Preview.BindingEventArgs =function(value,direction,targetPropertyType,transformerArgument){Sys.Preview.BindingEventArgs.initializeBase(this);this._value =value;this._direction =direction;this._targetPropertyType =targetPropertyType;this._transformerArgument =transformerArgument;}
Sys.Preview.BindingEventArgs.prototype ={get_direction:function(){return this._direction;},get_targetPropertyType:function(){return this._targetPropertyType;},get_transformerArgument:function(){return this._transformerArgument;},get_value:function(){return this._value;},set_value:function(value){this._value =value;}
}
Sys.Preview.BindingEventArgs.descriptor ={properties:[{name:'direction',type:Sys.Preview.BindingDirection,readOnly:true},{name:'targetPropertyType',type:Type,readOnly:true},{name:'transformerArgument',readOnly:true},{name:'value'} ]}
Sys.Preview.BindingEventArgs.registerClass('Sys.Preview.BindingEventArgs',Sys.CancelEventArgs);Sys.Preview.BindingBase =function(target){Sys.Preview.BindingBase.initializeBase(this);if(target){this._target =target;}
}
Sys.Preview.BindingBase.prototype ={_target:null,_property:null,_propertyKey:null,_dataContext:null,_dataPath:null,_dataPathParts:null,_transformerArgument:null,_automatic:true,_bindingExecuting:false,_source:null,get_automatic:function(){return this._automatic;},set_automatic:function(value){if (!this._source){this._automatic =value;}
},get_dataContext:function(){return this._dataContext;},set_dataContext:function(value){if (!this._source){this._dataContext =value;}
},get_dataPath:function(){return this._dataPath;},set_dataPath:function(value){if (!this._source){this._dataPath =value;}
},get_target:function(){return this._target;},set_target:function(value){this._target =value;},get_property:function(){return this._property;},set_property:function(value){if (!this._source){this._property =value;}
},get_propertyKey:function(){return this._propertyKey;},set_propertyKey:function(value){if (!this._source){this._propertyKey =value;}
},get_transformerArgument:function(){return this._transformerArgument;},set_transformerArgument:function(value){this._transformerArgument =value;},add_transform:function(handler){this.get_events().addHandler("transform",handler);},remove_transform:function(handler){this.get_events().removeHandler("transform",handler);},dispose:function(){this._dataContext =null;this._source =null;this._target =null;Sys.Preview.BindingBase.callBaseMethod(this,'dispose');},evaluate:function(direction){if (this._bindingExecuting){return;}
this._bindingExecuting =true;if (direction ===Sys.Preview.BindingDirection.In){this.evaluateIn();}
else {this.evaluateOut();}
this._bindingExecuting =false;},evaluateIn:function(){var targetPropertyType =Sys.Preview.TypeDescriptor.getPropertyType(this._target,this._property,this._propertyKey);var value =this._getSourceValue(targetPropertyType);var canceled =false;var handler =this.get_events().getHandler("transform");if (handler){var be =new Sys.Preview.BindingEventArgs(value,Sys.Preview.BindingDirection.In,targetPropertyType,this._transformerArgument);handler(this,be);canceled =be.get_cancel();value =be.get_value();}
if (!canceled){Sys.Preview.TypeDescriptor.setProperty(this._target,this._property,value,this._propertyKey);}
},evaluateOut:function(){},initialize:function(){Sys.Preview.BindingBase.callBaseMethod(this,'initialize');this._source =this._dataContext;if (!this._source){this._source =this._target.get_dataContext();}
if (this._dataPath &&this._dataPath.indexOf('.')>0){this._dataPathParts =this._dataPath.split('.');}
},_evaluateDataPath:function(){var object =this._source;for (var i =0;i <this._dataPathParts.length -1;i++){object =Sys.Preview.TypeDescriptor.getProperty(object,this._dataPathParts[i]);if (!object){return null;}
}
return object;},_get_dataPathParts:function(){return this._dataPathParts;},_getSource:function(){return this._source;},_getSourceValue:function(targetPropertyType){if (this._dataPath &&this._dataPath.length){var propertyObject =this._source;var propertyName =this._dataPath;if (this._dataPathParts){propertyObject =this._evaluateDataPath();if (propertyObject ===null){return null;}
propertyName =this._dataPathParts[this._dataPathParts.length -1];}
return Sys.Preview.TypeDescriptor.getProperty(propertyObject,propertyName);}
if (this._source &&Sys.Preview.ICustomTypeDescriptor.isImplementedBy(this._source)){return this._source.getProperty('');}
return this._source;},_getTargetValue:function(destinationType){var value =Sys.Preview.TypeDescriptor.getProperty(this._target,this._property,this._propertyKey);var handler =this.get_events().getHandler('transform');if(handler){var be =new Sys.Preview.BindingEventArgs(value,Sys.Preview.BindingDirection.Out,destinationType,this._transformerArgument);handler(this,be);var canceled =be.get_cancel();if (!canceled){value =be.get_value();}
else {value =null;}
}
return value;},setOwner:function(owner){this.set_target(owner);}
}
Sys.Preview.BindingBase.descriptor ={properties:[{name:'target',type:Object},{name:'automatic',type:Boolean},{name:'dataContext',type:Object},{name:'dataPath',type:String},{name:'property',type:String},{name:'propertyKey',type:String},{name:'transformerArgument',type:String} ],methods:[{name:'evaluateIn'} ],events:[{name:'transform'} ]}
Sys.Preview.BindingBase.registerClass('Sys.Preview.BindingBase',Sys.Component,Sys.IDisposable);Sys.Preview.BindingBase.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){var newBinding =new type();var builtInTransform;var transformAttribute =node.attributes.getNamedItem('transform');if (transformAttribute){var transformValue =transformAttribute.nodeValue;builtInTransform =Sys.Preview.BindingBase.Transformers[transformValue];}
if (builtInTransform){newBinding.add_transform(builtInTransform);node.attributes.removeNamedItem('transform');}
var binding =Sys.Preview.MarkupParser.initializeObject(newBinding,node,markupContext,prefixNamespaceMapping);if (builtInTransform){node.attributes.setNamedItem(transformAttribute)}
if (binding){markupContext.addComponent(binding);return binding;}
else {newBinding.dispose();}
return null;}
Sys.Preview.BindingBase.Transformers ={};Sys.Preview.BindingBase.Transformers.Invert =function(sender,eventArgs){eventArgs.set_value(!eventArgs.get_value());}
Sys.Preview.BindingBase.Transformers.ToString =function(sender,eventArgs){var value =eventArgs.get_value();var newValue ='';var formatString =eventArgs.get_transformerArgument();var placeHolder =(formatString &&(formatString.length !==0))?formatString.indexOf('{0}'):-1;if (placeHolder !=-1){newValue =String.format(formatString,value);}
else if (value){newValue =value.toString();}
else {newValue =formatString;}
eventArgs.set_value(newValue);}
Sys.Preview.BindingBase.Transformers.ToLocaleString =function(sender,eventArgs){var value =eventArgs.get_value();var newValue ='';var formatString =eventArgs.get_transformerArgument();var placeHolder =(formatString &&(formatString.length !==0))?formatString.indexOf('{0}'):-1;if (placeHolder !==-1){newValue =String.format(formatString,value.toLocalString ?value.toLocalString():value.toString());}
else if (value){newValue =value.toLocaleString();}
else {newValue =formatString;}
eventArgs.set_value(newValue);}
Sys.Preview.BindingBase.Transformers.Add =function(sender,eventArgs){var value =eventArgs.get_value();if (typeof(value)!=='number'){value =Number.parse(value);}
var delta =eventArgs.get_transformerArgument();if (!delta){delta =1;}
if (typeof(delta)!=='number'){delta =Number.parse(delta);}
if (eventArgs.get_direction()===Sys.Preview.BindingDirection.Out){delta =-delta;}
var newValue =value +delta;if (eventArgs.get_targetPropertyType()!=='number'){newValue =newValue.toString();}
eventArgs.set_value(newValue);}
Sys.Preview.BindingBase.Transformers.Multiply =function(sender,eventArgs){var value =eventArgs.get_value();if (typeof(value)!=='number'){value =Number.parse(value);}
var factor =eventArgs.get_transformerArgument();if (!factor){factor =1;}
if (typeof(factor)!=='number'){factor =Number.parse(factor);}
var newValue;if (eventArgs.get_direction()===Sys.Preview.BindingDirection.Out){newValue =value /factor;}
else {newValue =value *factor;}
if (eventArgs.get_targetPropertyType()!=='number'){newValue =newValue.toString();}
eventArgs.set_value(newValue);}
Sys.Preview.BindingBase.Transformers.Compare =function(sender,eventArgs){var value =eventArgs.get_value();var compareValue =eventArgs.get_transformerArgument();if (compareValue ===null){value =value ?true :false;}
else {value =(value ===compareValue);}
eventArgs.set_value(value);}
Sys.Preview.BindingBase.Transformers.CompareInverted =function(sender,eventArgs){var value =eventArgs.get_value();var compareValue =eventArgs.get_transformerArgument();if (compareValue ===null){value =value ?false :true;}
else {value =(value !==compareValue);}
eventArgs.set_value(value);}
Sys.Preview.BindingBase.Transformers.RSSTransform =function(sender,eventArgs){function getNodeValue(source,xPath){var node =source.selectSingleNode(xPath);if (node){return node.nodeValue;}
return null;}
var xmlNodes =eventArgs.get_value();if (!xmlNodes){return;}
var dataItems =new Sys.Preview.Data.DataTable([new Sys.Preview.Data.DataColumn('title',String,null,false,true),new Sys.Preview.Data.DataColumn('description',String,null,false,true),new Sys.Preview.Data.DataColumn('link',String,null,false,true),new Sys.Preview.Data.DataColumn('author',String,null,false,true),new Sys.Preview.Data.DataColumn('category',String,null,false,true),new Sys.Preview.Data.DataColumn('comments',String,null,false,true),new Sys.Preview.Data.DataColumn('guid',String,null,true,true),new Sys.Preview.Data.DataColumn('pubDate',String,null,false,true),new Sys.Preview.Data.DataColumn('source',String,null,false,true)]);for (var i =0;i <xmlNodes.length;i++){var xmlNode =xmlNodes[i];if (!xmlNode ||(xmlNode.nodeType !=1)){continue;}
var dataItem ={title :getNodeValue(xmlNode,'./title/text()'),description :getNodeValue(xmlNode,'./description/text()'),link :getNodeValue(xmlNode,'./link/text()'),author :getNodeValue(xmlNode,'./author/text()'),category :getNodeValue(xmlNode,'./category/text()'),comments :getNodeValue(xmlNode,'./comments/text()'),guid :getNodeValue(xmlNode,'./guid/text()'),pubDate :getNodeValue(xmlNode,'./pubDate/text()'),source :getNodeValue(xmlNode,'./source/text()')};dataItems.add(dataItem);}
eventArgs.set_value(dataItems);}
Sys.Preview.Binding =function(target){Sys.Preview.Binding.initializeBase(this,[target]);}
Sys.Preview.Binding.prototype ={_targetNotificationHandler:null,_sourceNotificationHandler:null,_direction:Sys.Preview.BindingDirection.In,get_direction:function(){return this._direction;},set_direction:function(value){if (!this._getSource()){this._direction =value;}
},dispose:function(){var target =this.get_target();var source =this._getSource();if (this._targetNotificationHandler){target.remove_propertyChanged(this._targetNotificationHandler);this._targetNotificationHandler =null;}
if (this._sourceNotificationHandler){source.remove_propertyChanged(this._sourceNotificationHandler);this._sourceNotificationHandler =null;}
if (this._targetDisposingHandler){target.remove_disposing(this._targetDisposingHandler);this._targetDisposingHandler =null;}
if (this._sourceDisposingHandler){source.remove_disposing(this._sourceDisposingHandler);this._sourceDisposingHandler =null;}
Sys.Preview.Binding.callBaseMethod(this,'dispose');},evaluateOut:function(){var propertyObject;var propertyName;var dataPathParts =this._get_dataPathParts();if (dataPathParts){propertyObject =this._evaluateDataPath();propertyName =dataPathParts[dataPathParts.length -1];if (!propertyObject){return;}
}
else {propertyObject =this._getSource();propertyName =this.get_dataPath();}
var sourcePropertyType =Sys.Preview.TypeDescriptor.getPropertyType(propertyObject,propertyName);var value =this._getTargetValue(sourcePropertyType);if (value !==null){Sys.Preview.TypeDescriptor.setProperty(propertyObject,propertyName,value);}
},initialize:function(){Sys.Preview.Binding.callBaseMethod(this,'initialize');if (this.get_automatic()){if (this._direction !==Sys.Preview.BindingDirection.In){var target =this.get_target();if (Sys.INotifyPropertyChange.isImplementedBy(target)){this._targetNotificationHandler =Function.createDelegate(this,this._onTargetPropertyChanged);target.add_propertyChanged(this._targetNotificationHandler);}
if (Sys.INotifyDisposing.isImplementedBy(target)){this._targetDisposingHandler =Function.createDelegate(this,this._onDisposing);target.add_disposing(this._targetDisposingHandler);}
}
if (this._direction !==Sys.Preview.BindingDirection.Out){var source =this._getSource();if (Sys.INotifyPropertyChange.isImplementedBy(source)){this._sourceNotificationHandler =Function.createDelegate(this,this._onSourcePropertyChanged);source.add_propertyChanged(this._sourceNotificationHandler);}
if (Sys.INotifyDisposing.isImplementedBy(source)){this._sourceDisposingHandler =Function.createDelegate(this,this._onDisposing);source.add_disposing(this._sourceDisposingHandler);}
this.evaluate(Sys.Preview.BindingDirection.In);}
}
},_onSourcePropertyChanged:function(sender,eventArgs){var compareProperty =this.get_dataPath();var dataPathParts =this._get_dataPathParts();if (dataPathParts){compareProperty =dataPathParts[0];}
var propertyName =eventArgs.get_propertyName();if (!propertyName ||(propertyName ===compareProperty)){this.evaluate(Sys.Preview.BindingDirection.In);}
},_onTargetPropertyChanged:function(sender,eventArgs){var propertyName =eventArgs.get_propertyName();if (!propertyName ||(propertyName ===this.get_property())){this.evaluate(Sys.Preview.BindingDirection.Out);}
},_onDisposing:function(sender,eventArgs){this.dispose();}
}
Sys.Preview.Binding.descriptor ={properties:[{name:'direction',type:Sys.Preview.BindingDirection} ],methods:[{name:'evaluateOut'} ]}
Sys.Preview.Binding.registerClass('Sys.Preview.Binding',Sys.Preview.BindingBase);Sys.Preview.XPathBinding =function(){Sys.Preview.XPathBinding.initializeBase(this);}
Sys.Preview.XPathBinding.prototype ={_xpath:null,get_xpath:function(){return this._xpath;},set_xpath:function(value){if (!this._getSource()){this._xpath =value;}
},initialize:function(){Sys.Preview.XPathBinding.callBaseMethod(this,'initialize');if (this.get_automatic()){this.evaluate(Sys.Preview.BindingDirection.In);}
},_getSourceValue:function(targetPropertyType){var source =Sys.Preview.XPathBinding.callBaseMethod(this,'_getSourceValue');if (!source){return null;}
if (Array.isInstanceOfType(targetPropertyType)){var nodes =source.selectNodes(this._xpath);var list =[];for (var i =0;i <nodes.length;i++){var node =nodes[i];if (!node ||(node.nodeType !==1)){continue;}
list.add(node);}
return list;}
else {var node =source.selectSingleNode(this._xpath);if (node){return node.nodeValue;}
return null;}
}
}
Sys.Preview.XPathBinding.descriptor ={properties:[{name:'xpath',type:String} ]}
Sys.Preview.XPathBinding.registerClass('Sys.Preview.XPathBinding',Sys.Preview.BindingBase);Sys.Preview.IAction =function(){throw Error.notImplemented();}
Sys.Preview.IAction.prototype ={execute:function(){throw Error.notImplemented();},setOwner:function(){throw Error.notImplemented();}
}
Sys.Preview.IAction.registerInterface('Sys.Preview.IAction');Sys.Preview.Action =function(){Sys.Preview.Action.initializeBase(this);}
Sys.Preview.Action.prototype ={_eventSource:null,_eventName:null,_eventArgs:null,_result:null,_target:null,_bindings:null,get_eventSource:function(){return this._eventSource;},set_eventSource:function(value){if(!this.get_isInitialized()){this._eventSource =value;}
},get_eventName:function(){return this._eventName;},set_eventName:function(value){if(!this.get_isInitialized()){this._eventName =value;}
},get_target:function(){return this._target;},set_target:function(value){this._target =value;},get_dataContext:function(){return this;},get_eventArgs:function(){return this._eventArgs;},get_result:function(){return this._result;},get_sender:function(){return this._eventSource;},get_bindings:function(){if(!this._bindings){this._bindings =Sys.Component.createCollection(this);this._bindings.add_collectionChanged(Function.createDelegate(this,this._bindingChanged));}
return this._bindings;},_bindingChanged:function(sender,args){if(args.get_action()===Sys.Preview.NotifyCollectionChangedAction.Add){args.get_changedItem().set_automatic(false);}
},dispose:function(){if(this._sourceHandler){this._eventSource["remove_"+this._eventName](this._sourceHandler);this._sourceHandler =null;}
if(this._sourceDisposingHandler){this._eventSource.remove_disposing(this._sourceDisposingHandler);this._sourceDisposingHandler =null;}
if(this._targetDisposingHandler){this._target.remove_disposing(this._targetDisposingHandler);this._targetDisposingHandler =null;}
this._target =null;this._eventSource =null;Sys.Preview.Action.callBaseMethod(this,'dispose');},performAction:function(){throw Error.notImplemented();},execute:function(sender,eventArgs){this._eventArgs =eventArgs;var bindings =this.get_bindings();var binding;if(bindings){var i;for (i =0;i <bindings.length;i++){binding =bindings[i];binding.evaluateIn();}
}
this._result =this.performAction();if(bindings){for (i =0;i <bindings.length;i++){binding =bindings[i];binding.evaluateOut();}
}
this._eventArgs =null;this._result =null;},initialize:function(){if(this._eventSource){var td =Sys.Preview.TypeDescriptor.getTypeDescriptor(this._eventSource);if(td){if(Sys.INotifyDisposing.isImplementedBy(this._eventSource)){this._sourceDisposeHandler =Function.createDelegate(this,this._sourceDisposing);this._eventSource.add_disposing(this._sourceDisposeHandler);}
var eventInfo =td._getEvents()[this.get_eventName()];this._sourceHandler =Function.createDelegate(this,this.execute);this._eventName =eventInfo.name;this._eventSource["add_"+this._eventName](this._sourceHandler);}
}
if(this._target &&Sys.INotifyDisposing.isImplementedBy(this._target)){this._targetDisposeHandler =Function.createDelegate(this,this._targetDisposing);this._target.add_disposing(this._targetDisposeHandler);}
Sys.Preview.Action.callBaseMethod(this,'initialize');},setOwner:function(eventSource){if(!this.get_isInitialized()){this._eventSource =eventSource;}
},_sourceDisposing:function(){this.dispose();},_targetDisposing:function(){this.dispose();}
}
Sys.Preview.Action.descriptor ={properties:[{name:'eventSource',type:Object},{name:'eventName',type:String},{name:'bindings',type:Array,readOnly:true},{name:'eventArgs',type:Sys.EventArgs,readOnly:true},{name:'result',type:Object,readOnly:true},{name:'sender',type:Object,readOnly:true},{name:'target',type:Object} ]}
Sys.Preview.Action.registerClass('Sys.Preview.Action',Sys.Component,Sys.Preview.IAction);Sys.Preview.Action.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){var newAction =Type.createInstance(type);var action =Sys.Preview.MarkupParser.initializeObject(newAction,node,markupContext,prefixNamespaceMapping);if (action){markupContext.addComponent(action);return action;}
else {newAction.dispose();}
return null;}
Sys.Preview.InvokeMethodAction =function(){Sys.Preview.InvokeMethodAction.initializeBase(this);}
Sys.Preview.InvokeMethodAction.prototype ={_method:null,_parameters:null,get_method:function(){return this._method;},set_method:function(value){this._method =value;},get_parameters:function(){if (!this._parameters){this._parameters ={};}
return this._parameters;},performAction:function(){return Sys.Preview.TypeDescriptor.invokeMethod(this.get_target(),this._method,this._parameters);}
}
Sys.Preview.InvokeMethodAction.descriptor ={properties:[{name:'method',type:String},{name:'parameters',type:Object,readOnly:true} ]}
Sys.Preview.InvokeMethodAction.registerClass('Sys.Preview.InvokeMethodAction',Sys.Preview.Action);Sys.Preview.SetPropertyAction =function(){Sys.Preview.SetPropertyAction.initializeBase(this);}
Sys.Preview.SetPropertyAction.prototype ={_property:null,_propertyKey:null,_value:null,get_property:function(){return this._property;},set_property:function(value){this._property =value;},get_propertyKey:function(){return this._propertyKey;},set_propertyKey:function(value){this._propertyKey =value;},get_value:function(){return this._value;},set_value:function(value){this._value =value;},performAction:function(){Sys.Preview.TypeDescriptor.setProperty(this.get_target(),this._property,this._value,this._propertyKey);return null;}
}
Sys.Preview.SetPropertyAction.descriptor ={properties:[{name:'property',type:String},{name:'propertyKey',type:String},{name:'value',type:String} ]}
Sys.Preview.SetPropertyAction.registerClass('Sys.Preview.SetPropertyAction',Sys.Preview.Action);Sys.Preview.PostBackAction =function(){Sys.Preview.PostBackAction.initializeBase(this);}
Sys.Preview.PostBackAction.prototype ={_eventArgument:null,get_target:function(){return this._target;},set_target:function(value){this._target =value;},get_eventArgument:function(){return this._eventArgument;},set_eventArgument:function(value){this._eventArgument =value;},performAction:function(){__doPostBack(this.get_target(),this.get_eventArgument());return null;}
}
Sys.Preview.PostBackAction.descriptor ={properties:[{name:'eventArgument',type:String},{name:'target',type:String} ]}
Sys.Preview.PostBackAction.registerClass('Sys.Preview.PostBackAction',Sys.Preview.Action);///////////////////////////////////////////////////////////////////////////////
Sys.Preview.Counter =function(){Sys.Preview.Counter.initializeBase(this);}
Sys.Preview.Counter.prototype ={_value:0,_lowerBound:Number.NaN,_upperBound:Number.NaN,get_canDecrement:function(){return isNaN(this._lowerBound)||(this._value >this._lowerBound);},get_canIncrement:function(){return isNaN(this._upperBound)||(this._value <this._upperBound);},get_lowerBound:function(){return this._lowerBound;},set_lowerBound:function(value){if ((isNaN(value)&&isNaN(this._lowerBound))||(value ===this._lowerBound))return;var oldCanDecrement =this.get_canDecrement();this._lowerBound =value;this.raisePropertyChanged('lowerBound');if (oldCanDecrement !==this.get_canDecrement()){this.raisePropertyChanged('canDecrement');}
},get_upperBound:function(){return this._upperBound;},set_upperBound:function(value){if ((isNaN(value)&&isNaN(this._upperBound))||(value ===this._upperBound))return;var oldCanIncrement =this.get_canIncrement();this._upperBound =value;this.raisePropertyChanged('upperBound');if (oldCanIncrement !==this.get_canIncrement()){this.raisePropertyChanged('canIncrement');}
},get_value:function(){return this._value;},set_value:function(value){if ((isNaN(this._lowerBound)||(value >=this._lowerBound))&&(isNaN(this._upperBound)||(value <=this._upperBound))&&(this._value !==value)){var oldCanDecrement =this.get_canDecrement();var oldCanIncrement =this.get_canIncrement();this._value =value;this.raisePropertyChanged('value');if (oldCanDecrement !==this.get_canDecrement()){this.raisePropertyChanged('canDecrement');}
if (oldCanIncrement !==this.get_canIncrement()){this.raisePropertyChanged('canIncrement');}
}
},decrement:function(){this.set_value(this._value -1);},increment:function(){this.set_value(this._value +1);}
}
Sys.Preview.Counter.descriptor ={properties:[{name:'value',type:Number},{name:'lowerBound',type:Number},{name:'upperBound',type:Number},{name:'canDecrement',type:Boolean,readOnly:true},{name:'canIncrement',type:Boolean,readOnly:true} ],methods:[{name:'increment'},{name:'decrement'} ]}
Sys.Preview.Counter.registerClass('Sys.Preview.Counter',Sys.Component);///////////////////////////////////////////////////////////////////////////////
Sys.Preview.Timer =function(){Sys.Preview.Timer.initializeBase(this);this._interval =1000;this._enabled =false;this._timer =null;}
Sys.Preview.Timer.prototype ={get_interval:function(){return this._interval;},set_interval:function(value){if (this._interval !==value){this._interval =value;this.raisePropertyChanged('interval');if (!this.get_isUpdating()&&(this._timer !==null)){this._restartTimer();}
}
},get_enabled:function(){return this._enabled;},set_enabled:function(value){if (value !==this.get_enabled()){this._enabled =value;this.raisePropertyChanged('enabled');if (!this.get_isUpdating()){if (value){this._startTimer();}
else {this._stopTimer();}
}
}
},add_tick:function(handler){this.get_events().addHandler("tick",handler);},remove_tick:function(handler){this.get_events().removeHandler("tick",handler);},dispose:function(){this.set_enabled(false);this._stopTimer();Sys.Preview.Timer.callBaseMethod(this,'dispose');},updated:function(){Sys.Preview.Timer.callBaseMethod(this,'updated');if (this._enabled){this._restartTimer();}
},_timerCallback:function(){var handler =this.get_events().getHandler("tick");if (handler){handler(this,Sys.EventArgs.Empty);}
},_restartTimer:function(){this._stopTimer();this._startTimer();},_startTimer:function(){this._timer =window.setInterval(Function.createDelegate(this,this._timerCallback),this._interval);},_stopTimer:function(){window.clearInterval(this._timer);this._timer =null;}
}
Sys.Preview.Timer.descriptor ={properties:[{name:'interval',type:Number},{name:'enabled',type:Boolean} ],events:[{name:'tick'} ]}
Sys.Preview.Timer.registerClass('Sys.Preview.Timer',Sys.Component);Sys.Preview.ITask =function(){throw Error.notImplemented();}
Sys.Preview.ITask.prototype ={execute:function(){throw Error.notImplemented();}
}
Sys.Preview.ITask.registerInterface('Sys.Preview.ITask');Sys.Preview.Reference =function(){}
Sys.Preview.Reference.prototype ={_component:null,_onload:null,get_component:function(){return this._component;},set_component:function(value){this._component =value;},get_onscriptload:function(){return this._onload;},set_onscriptload:function(value){this._onload =value;},dispose:function(){this._component =null;}
}
Sys.Preview.Reference.descriptor ={properties:[{name:'component',type:Object },{name:'onscriptload',type:String } ]}
Sys.Preview.Reference.registerClass('Sys.Preview.Reference',null,Sys.IDisposable);Sys.Preview.Reference.parseFromMarkup =function(type,node,markupContext){var newReference =new Sys.Preview.Reference();var reference =Sys.Preview.MarkupParser.initializeObject(newReference,node,markupContext);if (reference){return reference;}
newReference.dispose();return null;}
Sys.Preview._TaskManager =function(){Sys.Application.registerDisposableObject(this);this._tasks =[];}
Sys.Preview._TaskManager.prototype ={_timeoutCookie:null,_timeoutHandler:null,addTask:function(task){this._tasks.queue(task);this._startTimeout();},dispose:function(){if (this._timeoutCookie){window.clearTimeout(this._timeoutCookie);}
if (this._tasks &&this._tasks.length){for (var i =this._tasks.length -1;i >=0;i--){this._tasks[i].dispose();}
}
this._tasks =null;this._timeoutHandler =null;Sys.Application.unregisterDisposableObject(this);},_onTimeout:function(){this._timeoutCookie =0;var task =this._tasks.dequeue();if (!task.execute()){this._tasks.queue(task);}
if (this._tasks.length){this._startTimeout();}
},_startTimeout:function(){if (!this._timeoutCookie){if (!this._timeoutHandler){this._timeoutHandler =Function.createDelegate(this,this._onTimeout);}
this._timeoutCookie =window.setTimeout(this._timeoutHandler,0);}
}
}
Sys.Preview._TaskManager.registerClass('Sys.Preview._TaskManager',null,Sys.IDisposable);Sys.Preview.TaskManager =new Sys.Preview._TaskManager();Type.registerNamespace('Sys.Preview.Net');Sys.Preview.Net.ServiceMethodRequest =function(){Sys.Preview.Net.ServiceMethodRequest.initializeBase(this);}
Sys.Preview.Net.ServiceMethodRequest.prototype ={_url:null,_methodName:null,_parameters:null,_userContext:null,_result:null,_request:null,_timeoutInterval:0,get_url:function(){return this._url;},set_url:function(value){this._url =value;},_get_path:function(){return this.get_url();},get_methodName:function(){return this._methodName;},set_methodName:function(value){this._methodName =value;},get_parameters:function(){if (this._parameters ===null){this._parameters ={};}
return this._parameters;},get_result:function(){return this._result;},get_timeoutInterval:function(){return this._timeoutInterval;},set_timeoutInterval:function(value){this._timeoutInterval =value;},get_timeout:function(){return this.get_timeoutInterval();},add_completed:function(handler){this.get_events().addHandler("completed",handler);},remove_completed:function(handler){this.get_events().removeHandler("completed",handler);},add_timeout:function(handler){this.get_events().addHandler("timeout",handler);},remove_timeout:function(handler){this.get_events().removeHandler("timeout",handler);},add_error:function(handler){this.get_events().addHandler("error",handler);},remove_error:function(handler){this.get_events().removeHandler("error",handler);},invoke:function(userContext){if (this._request !==null){return false;}
this._request =Sys.Net._WebMethod._invoke(this,this._methodName,this._methodName,false,this.get_parameters(),onMethodComplete,onMethodError,this);function onMethodComplete(result,target,methodName){target._request =null;target._userContext =userContext;target._result =result;var handler =target.get_events().getHandler("completed");if (handler){handler(target,Sys.EventArgs.Empty);}
}
function onMethodError(result,target,methodName){target._request =null;target._userContext =userContext;target._result =result;var isTimeout=false;if(result.get_errorStatus)isTimeout =(result.get_errorStatus()===2);else if(result.get_timedOut)isTimeout =result.get_timedOut();var handler;if (isTimeout){handler =target.get_events().getHandler("timeout");}
else {handler =target.get_events().getHandler("error");}
if (handler){handler(target,Sys.EventArgs.Empty);}
}
return true;}
}
Sys.Preview.Net.ServiceMethodRequest.descriptor ={properties:[{name:'url',type:String},{name:'methodName',type:String},{name:'parameters',type:Object,readOnly:true},{name:'result',type:Object,readOnly:true},{name:'timeoutInterval',type:Number} ],methods:[{name:'invoke',params:[{name:'userContext',type:Object} ]} ],events:[{name:'completed'},{name:'timeout'},{name:'error'} ]}
Sys.Preview.Net.ServiceMethodRequest.registerClass('Sys.Preview.Net.ServiceMethodRequest',Sys.Component);Type.registerNamespace('Sys.Preview.Data');Sys.Preview.Data.IData =function(){throw Error.notImplemented();}
Sys.Preview.Data.IData.prototype ={add:function(){throw Error.notImplemented();},clear:function(){throw Error.notImplemented();},getRow:function(){throw Error.notImplemented();},remove:function(){throw Error.notImplemented();}
}
Sys.Preview.Data.IData.registerInterface('Sys.Preview.Data.IData');Sys.Preview.Data.DataRowState =function(){throw Error.invalidOperation();}
Sys.Preview.Data.DataRowState.prototype ={Unchanged:0,Added:1,Deleted:2,Detached:3,Modified:4
}
Sys.Preview.Data.DataRowState.registerEnum('Sys.Preview.Data.DataRowState');Sys.Preview.Data.SortDirection =function(){throw Error.invalidOperation();}
Sys.Preview.Data.SortDirection.prototype ={Ascending:0,Descending:1
}
Sys.Preview.Data.SortDirection.registerEnum('Sys.Preview.Data.SortDirection');Sys.Preview.Data.ServiceType =function(){throw Error.invalidOperation();}
Sys.Preview.Data.ServiceType.prototype ={DataService:0,Handler:1
}
Sys.Preview.Data.ServiceType.registerEnum('Sys.Preview.Data.ServiceType');Sys.Preview.Data.DataColumn =function(columnName,dataType,defaultValue,isKey,isReadOnly){this._columnName =columnName;this._dataType =dataType;this._defaultValue =defaultValue;this._readOnly =isReadOnly;this._key =isKey;}
Sys.Preview.Data.DataColumn.prototype ={get_columnName:function(){return this._columnName;},get_dataType:function(){return this._dataType;},get_defaultValue:function(){return this._defaultValue;},get_isKey:function(){return this._key;},get_readOnly:function(){return this._readOnly;},dispose:function(){this._columnName =null;this._dataType =null;this._defaultValue =null;}
}
Sys.Preview.Data.DataColumn.descriptor ={properties:[{name:'columnName',type:String,readOnly:true },{name:'dataType',type:Sys.Type,readOnly:true },{name:'defaultValue',readOnly:true },{name:'isKey',type:Boolean,readOnly:true },{name:'readOnly',type:Boolean,readOnly:true } ]}
Sys.Preview.Data.DataColumn.registerClass('Sys.Preview.Data.DataColumn',null,Sys.IDisposable);Sys.Preview.Data.DataRow =function(objectDataRow,dataTableOwner,index){this._owner =dataTableOwner;this._row =objectDataRow;this._index =index;}
Sys.Preview.Data.DataRow.prototype ={_state:Sys.Preview.Data.DataRowState.Unchanged,_selected:false,_events:null,get_events:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},add_propertyChanged:function(handler){if(this._disposed){return;}
this.get_events().addHandler("propertyChanged",handler);},remove_propertyChanged:function(handler){if(this._disposed)return;this.get_events().removeHandler("propertyChanged",handler);},_onPropertyChanged:function(propertyName){var handler =this.get_events().getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
},get_isDirty:function(){return typeof(this._row._original)==="object";},get_index:function(){return this._index;},_set_index:function(index){this._index =index;},get_rowObject:function(){return typeof(this._row._rowObject)!=="undefined"?this._row._rowObject :this._row;},get_selected:function(){return this._selected;},set_selected:function(value){if (this._selected !==value){this._selected =value;this._onPropertyChanged("$selected");}
},get_state:function(){return this._state;},_set_state:function(value){this._state =value;},get_table:function(){return this._owner;},_set_table:function(value){this._owner =value;},dispose:function(){delete this._events;this._row =null;this._owner =null;this._disposed =true;},getProperty:function(name,key){if (!name){return typeof(this._row._rowObject)!=="undefined"?this._row._rowObject :this._row;}
switch(name){case "$isDirty":return this.get_isDirty();case "$index":return this._index;case "$selected":return this.get_selected();}
return Sys.Preview.TypeDescriptor.getProperty(this._row,name,key);},setProperty:function(name,value,key){if (name ==="$selected"){this.set_selected(value);return;}
if (this._row[name]===value)return;var isDirty =this.get_isDirty();if (!isDirty &&this._owner &&(this.get_state()===Sys.Preview.Data.DataRowState.Unchanged)){var original ={};for (var columnName in this._row){if ((columnName.charAt(0)!=='_')&&(typeof(this._row[columnName])!=="function")){original[columnName]=this._row[columnName];}
}
this._row._original =original;this._set_state(Sys.Preview.Data.DataRowState.Modified);}
Sys.Preview.TypeDescriptor.setProperty(this._row,name,value,key);this._onPropertyChanged(name);if (!isDirty){this._onPropertyChanged("$isDirty");}
this._owner.raiseRowChanged(this._row);},invokeMethod:function(methodName,parameters){}
}
Sys.Preview.Data.DataRow.descriptor ={properties:[{name:'$isDirty',type:Boolean,readOnly:true },{name:'$index',type:Number,readOnly:true },{name:'$selected',type:Boolean } ],events:[{name:'propertyChanged',readOnly:true } ]}
Sys.Preview.Data.DataRow.registerClass('Sys.Preview.Data.DataRow',null,Sys.Preview.ICustomTypeDescriptor,Sys.INotifyPropertyChange,Sys.IDisposable);Sys.Preview.Data.DataRowView =function(dataRow,index){this._row =dataRow;this._index =index;}
Sys.Preview.Data.DataRowView.prototype ={_rowPropertyChanged:null,_events:null,get_events:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},add_propertyChanged:function(handler){this.get_events().addHandler("propertyChanged",handler);},remove_propertyChanged:function(handler){this.get_events().removeHandler("propertyChanged",handler);},_onPropertyChanged:function(propertyName){var handler =this.get_events().getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
},get_dataIndex:function(){return this._row.get_index();},get_index:function(){return this._index;},_set_index:function(value){this._index =value;},get_isDirty:function(){return this._row.get_isDirty();},_get_row:function(){return this._row;},get_rowObject:function(){return this._row.get_rowObject();},get_selected:function(){return this._row.get_selected();},set_selected:function(value){this._row.set_selected(value);},get_table:function(){return this._row.get_table();},dispose:function(){if (this._row &&this._rowPropertyChanged){this._row.remove_propertyChanged(this._rowPropertyChanged);}
delete this._events;this._row =null;},initialize:function(){this._rowPropertyChanged =Function.createDelegate(this,this._onRowPropertyChanged);this._row.add_propertyChanged(this._rowPropertyChanged);},_onRowPropertyChanged:function(sender,args){this._onPropertyChanged(args.get_propertyName());},getProperty:function(name,key){if (name ==="$index")return this._index;if (name ==="$dataIndex")return this._row.get_index();return this._row.getProperty(name,key);},setProperty:function(name,value,key){this._row.setProperty(name,value,key);},invokeMethod:function(methodName,parameters){}
}
Sys.Preview.Data.DataRowView.descriptor ={properties:[{name:'$dataIndex',type:Number,readOnly:true },{name:'$isDirty',type:Boolean,readOnly:true },{name:'$index',type:Number,readOnly:true },{name:'$selected',type:Boolean } ],events:[{name:'propertyChanged',readOnly:true } ]}
Sys.Preview.Data.DataRowView.registerClass('Sys.Preview.Data.DataRowView',null,Sys.Preview.ICustomTypeDescriptor,Sys.INotifyPropertyChange,Sys.IDisposable);Sys.Preview.Data.DataRowCollection =function(dataRowViews,dataTable){this._rows =dataRowViews;this._dataTable =dataTable;}
Sys.Preview.Data.DataRowCollection.prototype ={_indexToRow:null,_tableCollectionChanged:null,_suspendNotifications:false,_events:null,get_events:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},add_propertyChanged:function(handler){this.get_events().addHandler("propertyChanged",handler);},remove_propertyChanged:function(handler){this.get_events().removeHandler("propertyChanged",handler);},_onPropertyChanged:function(propertyName){var handler =this.get_events().getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
},add_collectionChanged:function(handler){this.get_events().addHandler("collectionChanged",handler);},remove_collectionChanged:function(handler){this.get_events().removeHandler("collectionChanged",handler);},_onCollectionChanged:function(action,changedItem){var handler =this.get_events().getHandler("collectionChanged");if (handler){handler(this,new Sys.Preview.CollectionChangedEventArgs(action,changedItem));}
},_get_dataTable:function(){return this._dataTable;},get_length:function(){return this._rows.length;},add:function(rowObject){var row =this._dataTable.add(rowObject);var rv =new Sys.Preview.Data.DataRowView(row,this._rows.length);rv.initialize();this._rows.add(rv);if (this._indexToRow){this._indexToRow[row.get_dataIndex()]=row;}
},clear:function(){this._suspendNotifications =true;for (var i =this._rows.length -1;i >=0;i--){this._dataTable.remove(this._rows[i]._get_row());}
this._rows =[];this._indexToRow =null;this._suspendNotifications =false;this._onCollectionChanged(Sys.Preview.NotifyCollectionChangedAction.Reset,null);},getRow:function(index){return this._rows[index];},getItem:function(index){return this.getRow(index);},remove:function(rowObject){this._dataTable.remove(rowObject._get_row());},dispose:function(){if (this._dataTable &&this._tableCollectionChanged){this._dataTable.remove_collectionChanged(this._tableCollectionChanged);this._tableCollectionChanged =null;}
delete this._events;this._rows =null;this._dataTable =null;},initialize:function(){if (this._dataTable.add_collectionChanged){this._tableCollectionChanged =Function.createDelegate(this,this.onTableCollectionChanged);this._dataTable.add_collectionChanged(this._tableCollectionChanged);}
},ensureLookupTable:function(){if (!this._indexToRow){this._indexToRow =[];for (var j =this._rows.length -1;j >=0;j--){var row =this._rows[j];this._indexToRow[row.get_dataIndex()]=row;}
}
},onTableCollectionChanged:function(sender,args){if (this._suspendNotifications)return;switch(args.get_action()){case Sys.Preview.NotifyCollectionChangedAction.Reset:this._rows =[];this._indexToRow =null;this._onCollectionChanged(Sys.Preview.NotifyCollectionChangedAction.Reset,changedItem);return;case Sys.Preview.NotifyCollectionChangedAction.Remove:var changedItem =args.get_changedItem();this.ensureLookupTable();var idx =changedItem.get_index();if (this._indexToRow[idx]){this._rows.remove(this._indexToRow[idx]);delete this._indexToRow[idx];this._onCollectionChanged(Sys.Preview.NotifyCollectionChangedAction.Remove,changedItem);}
return;}
}
}
Sys.Preview.Data.DataRowCollection.descriptor ={properties:[{name:'length',type:Number,readOnly:true } ],methods:[{name:'add'},{name:'clear'},{name:'remove'} ],events:[{name:'collectionChanged',readOnly:true },{name:'propertyChanged',readOnly:true } ]}
Sys.Preview.Data.DataRowCollection.registerClass('Sys.Preview.Data.DataRowCollection',null,Sys.Preview.Data.IData,Sys.INotifyPropertyChange,Sys.Preview.INotifyCollectionChanged,Sys.IDisposable);Sys.Preview.Data.DataTable =function(columns,tableArray){this._array =Array.isInstanceOfType(tableArray)?tableArray :[];this._columns =Array.isInstanceOfType(columns)?columns :[];this._rows =[];this._deletedRows =[];this._newRows =[];this._updatedRows =[];this._columnDictionary ={};this._keys =null;this._events =null;}
Sys.Preview.Data.DataTable.prototype ={get_events:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},add_propertyChanged:function(handler){if(this._disposed)return;this.get_events().addHandler("propertyChanged",handler);},remove_propertyChanged:function(handler){if(this._disposed)return;this.get_events().removeHandler("propertyChanged",handler);},_onPropertyChanged:function(propertyName){if(this._disposed)return;var handler =this.get_events().getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
},add_collectionChanged:function(handler){if(this._disposed)return;this.get_events().addHandler("collectionChanged",handler);},remove_collectionChanged:function(handler){if(this._disposed)return;this.get_events().removeHandler("collectionChanged",handler);},_onCollectionChanged:function(action,changedItem){if(this._disposed)return;var handler =this.get_events().getHandler("collectionChanged");if (handler){handler(this,new Sys.Preview.CollectionChangedEventArgs(action,changedItem));}
},get_columns:function(){return this._columns;},get_keyNames:function(){if(this._disposed)return null;if (!this._keys){this._keys =[];var len =this._columns.length;for (var i =0;i <len;i++){var col =this._columns[i];if (col.get_isKey()){this._keys.add(col.get_columnName());}
}
}
return this._keys;},get_isDirty:function(){if(this._disposed)return false;return (this._deletedRows.length !==0)||(this._newRows.length !==0)||(this._updatedRows.length !==0);},get_length:function(){if(this._disposed)return 0;return this._array.length;},add:function(rowObject){if(this._disposed)return;var row;if (Sys.Preview.Data.DataRow.isInstanceOfType(rowObject)){row =rowObject;row._set_table(this);rowObject =rowObject.get_rowObject();}
else {row =new Sys.Preview.Data.DataRow(rowObject,this);}
var index =this._array.length;row._set_index(index);var columns =this.get_columns();if (columns){for(var i =columns.length -1;i >=0;i--){var column =columns[i];if (typeof(rowObject[column.get_columnName()])==="undefined"){rowObject[column.get_columnName()]=column.get_defaultValue();}
}
}
var oldIsDirty =this.get_isDirty();this._array[index]=rowObject;this._rows[index]=row;this._newRows.add(rowObject);row._set_state(Sys.Preview.Data.DataRowState.Added);this._onCollectionChanged(Sys.Preview.NotifyCollectionChangedAction.Add,row);this._onPropertyChanged("length");if (!oldIsDirty){this._onPropertyChanged("isDirty");}
return row;},clear:function(){if (this.get_length()>0){var oldIsDirty =this.get_isDirty();for (var i =this._array.length -1;i >=0;i--){var row =this._array[i];if (row &&!this._newRows.contains(row)){this._deletedRows.add(row);this._rows[i]._set_state(Sys.Preview.Data.DataRowState.Deleted);}
}
this._rows =[];this._array =[];this._newRows =[];this._updatedRows =[];this._onCollectionChanged(Sys.Preview.NotifyCollectionChangedAction.Reset,null);this._onPropertyChanged("length");if (!oldIsDirty){this._onPropertyChanged("isDirty");}
}
},createRow:function(initialData){if(this._disposed)return null;var obj ={};var undef ={};for (var i =this._columns.length -1;i >=0;i--){var column =this._columns[i];var columnName =column.get_columnName();var val =undef;if (initialData){val =Sys.Preview.TypeDescriptor.getProperty(initialData,columnName);}
if ((val ===undef)||(typeof(val)==="undefined")){val =column.get_defaultValue();}
obj[columnName]=val;}
var row =new Sys.Preview.Data.DataRow(obj,this,-1);row._set_state(Sys.Preview.Data.DataRowState.Detached);return row;},getChanges:function(){if(this._disposed)return null;return {updated :this._updatedRows,inserted :this._newRows,deleted :this._deletedRows};},getColumn:function(name){if(this._disposed)return null;var col =this._columnDictionary[name];if (col){return col;}
for (var c =this._columns.length -1;c >=0;c--){var column =this._columns[c];if (column.get_columnName()===name){this._columnDictionary[name]=column;return column;}
}
return null;},getRow:function(index){if(this._disposed)return null;var row =this._rows[index];if (!row){var rowObject =this._array[index];if (rowObject){row =Sys.Preview.Data.DataRow.isInstanceOfType(rowObject)?rowObject :new Sys.Preview.Data.DataRow(rowObject,this,index);this._rows[index]=row;}
}
return row;},getItem:function(index){return this.getRow(index);},remove:function(rowObject){if(this._disposed)return null;if (Sys.Preview.Data.DataRow.isInstanceOfType(rowObject)){rowObject =rowObject.get_rowObject();}
var oldIsDirty =this.get_isDirty();var index =this._array.indexOf(rowObject);var row =this.getItem(index);this._array.removeAt(index);this._rows.removeAt(index);index =this._newRows.indexOf(rowObject);if (index !==-1){this._newRows.removeAt(index);}
else {this._deletedRows.add(rowObject);}
row._set_state(Sys.Preview.Data.DataRowState.Deleted);this._onCollectionChanged(Sys.Preview.NotifyCollectionChangedAction.Remove,row);this._onPropertyChanged("length");if (oldIsDirty !==this.get_isDirty()){this._onPropertyChanged("isDirty");}
},dispose:function(){delete this._events;this._disposed =true;var i,row;if (this._rows){for (i =this._rows.length -1;i >=0;i--){row =this._rows[i];if (row){this._rows[i].dispose();}
}
}
if (this._deletedRows){for (i =this._deletedRows.length -1;i >=0;i--){row =this._deletedRows[i];if (row &&row.dispose){row.dispose();}
}
}
if (this._newRows){for (i =this._newRows.length -1;i >=0;i--){row =this._newRows[i];if (row &&row.dispose){row.dispose();}
}
}
if (this._updatedRows){for (i =this._updatedRows.length -1;i >=0;i--){row =this._updatedRows[i];if (row &&row.dispose){row.dispose();}
}
}
this._rows =null;this._deletedRows =null;this._newRows =null;this._updatedRows =null;this._columns =null;this._array =null;this._keys =null;},raiseRowChanged:function(changedItem){if(this._disposed)return null;if ((this._updatedRows.indexOf(changedItem)===-1)&&(this._newRows.indexOf(changedItem)===-1)){var oldIsDirty =this.get_isDirty();this._updatedRows.add(changedItem);if (!oldIsDirty){this._onPropertyChanged("isDirty");}
}
}
}
Sys.Preview.Data.DataTable.descriptor ={properties:[{name:'columns',type:Array,readOnly:true },{name:'keyNames',type:Array,readOnly:true },{name:'length',type:Number,readOnly:true },{name:'isDirty',type:Boolean,readOnly:true } ],methods:[{name:'add'},{name:'clear'},{name:'remove'} ],events:[{name:'collectionChanged',readOnly:true },{name:'propertyChanged',readOnly:true } ]}
Sys.Preview.Data.DataTable.registerClass('Sys.Preview.Data.DataTable',null,Sys.Preview.Data.IData,Sys.INotifyPropertyChange,Sys.Preview.INotifyCollectionChanged,Sys.IDisposable);Sys.Preview.Data.DataView =function(){Sys.Preview.Data.DataView.initializeBase(this);}
Sys.Preview.Data.DataView.prototype ={_data:null,_filteredTable:null,_filteredRows:null,_paginatedRows:null,_pageSize:0,_pageIndex:0,_sorted:false,_sortColumn:'',_sortDirection:Sys.Preview.Data.SortDirection.Ascending,_filters:null,_dataChangedDelegate:null,_compareRowsDelegate:null,_updating:false,get_data:function(){return this._data;},set_data:function(data){if (!this._dataChangedDelegate){this._dataChangedDelegate =Function.createDelegate(this,this.onDataChanged);}
this._filteredTable =null;if (this._data &&this._data.remove_collectionChanged){this._data.remove_collectionChanged(this._dataChangedDelegate);}
this._data =data;if (this._data &&this._data.add_collectionChanged){this._data.add_collectionChanged(this._dataChangedDelegate);}
this.raisePropertyChanged('data');this.raisePropertyChanged('filteredData');},get_filteredData:function(){this.ensureFilteredData();return this._filteredTable;},get_filters:function(){if (!this._filters){this._filters =Sys.Component.createCollection(this);if (!this._dataChangedDelegate){this._dataChangedDelegate =Function.createDelegate(this,this.onDataChanged);}
this._filters.add_collectionChanged(this._dataChangedDelegate);}
return this._filters;},get_hasNextPage:function(){this.ensureFilteredData();return (this.get_pageIndex()<this.get_pageCount()-1);},get_hasPreviousPage:function(){if (!this._data)return false;return (this.get_pageIndex()>0);},get_length:function(){this.ensureFilteredData();return this._filteredTable ?(this._filteredTable.length?this._filteredTable.length :this._filteredTable.get_length()):0;},get_pageCount:function(){if (this._pageSize ===0){return 1;}
this.ensureFilteredData();if (!this._filteredRows)return 1;return Math.floor((this._filteredRows.length -1)/this._pageSize)+1;},get_pageIndex:function(){return this._pageIndex;},set_pageIndex:function(value,dontRaiseFilteredDataChanged){var count =this.get_pageCount();if (value >=count){value =(count >0 ?count -1 :0);}
if (value !==this._pageIndex){var oldState =this.prepareChange();this._pageIndex =value;this._paginatedRows =null;this.triggerChangeEvents(oldState,false);if (!dontRaiseFilteredDataChanged){this.raisePropertyChanged('filteredData');}
}
},get_pageSize:function(){return this._pageSize;},set_pageSize:function(value){if (this._pageSize !==value){var oldState =this.prepareChange();this._pageSize =value;this._paginatedRows =null;this.triggerChangeEvents(oldState,true);this.raisePropertyChanged('filteredData');}
},get_sortColumn:function(){return this._sortColumn;},set_sortColumn:function(value){this.sort(value,this._sortDirection);},get_sortDirection:function(){return this._sortDirection;},set_sortDirection:function(value){this.sort(this._sortColumn,value);},dispose:function(){this._disposed =true;if (this._filters){this._filters.dispose();this._filters =null;}
if (this._data &&this._dataChangedDelegate){if(this._data.removeCollectionChanged)this._data.remove_collectionChanged(this._dataChangedDelegate);this._dataChangedDelegate =null;this._data =null;}
Sys.Preview.Data.DataView.callBaseMethod(this,'dispose');},getItem:function(index){return this._filteredTable ?this._filteredTable[index]:null;},initialize:function(){Sys.Preview.Data.DataView.callBaseMethod(this,'initialize');if (this._filters){for (var i =0;i <this._filters.length;i++){this._filters[i].initialize(this);}
}
},sort:function(sortColumn,sortDirection){var colChanged =(sortColumn !==this._sortColumn);var dirChanged =(sortDirection !==this._sortDirection);if (colChanged ||dirChanged){this._sortColumn =sortColumn;this._sortDirection =sortDirection;if (colChanged){this.raisePropertyChanged('sortColumn');}
if (dirChanged){this.raisePropertyChanged('sortDirection');}
this._sorted =false;this.set_pageIndex(0,true);this.raisePropertyChanged('filteredData');}
},_raiseFilterChanged:function(filter){this._dataChangedDelegate(this,Sys.EventArgs.Empty);},compareRows:function(row1,row2){var sortColumn =this.get_sortColumn();var sortDirection =this.get_sortDirection();if (row1.getProperty(sortColumn)===row2.getProperty(sortColumn))return 0;if (row1.getProperty(sortColumn)<row2.getProperty(sortColumn)){return (sortDirection ===Sys.Preview.Data.SortDirection.Ascending)?-1 :1;}
return (sortDirection ===Sys.Preview.Data.SortDirection.Ascending)?1 :-1;},onDataChanged:function(sender,args){if(this._disposed)return;if (args !==Sys.EventArgs.Empty){var item =args.get_changedItem();var filters =this.get_filters();if (item &&!this.isValidAfterFiltering.call(item,filters,filters.length)){return;}
}
this._filteredTable =null;this.raisePropertyChanged('filteredData');},ensureFilteredData:function(){if (this._updating ||!this._data)return;this._updating =true;var oldState =this.prepareChange();if ((typeof(this._data.length)==="number")&&(this._data.length ===0)){this._filteredRows =[];this._paginatedRows =[];this._filteredTable =new Sys.Preview.Data.DataRowCollection([],this._data);this._filteredTable.initialize();this._sorted =true;}
else {if (!this._filteredTable){this._filteredRows =[];this._paginatedRows =null;this._filteredTable =null;var filters =this.get_filters();var filterLength =filters.length;var dataLength =this._data.get_length ?this._data.get_length():(typeof(this._data.length)!=='undefined'?this._data.length :0);for (var i =0;i <dataLength;i++){var item =this._data.getItem?this._data.getItem(i):this._data[i];if (!Sys.Preview.Data.DataRow.isInstanceOfType(item)){item =new Sys.Preview.Data.DataRow(item,null,i);}
if (this.isValidAfterFiltering.call(this,item,filters,filterLength)){var rv =new Sys.Preview.Data.DataRowView(item,i);rv.initialize();this._filteredRows.add(rv);}
}
}
if (!this._sorted &&this._sortColumn &&(this._filteredRows.length !==0)){if (!this._compareRowsDelegate){this._compareRowsDelegate =Function.createDelegate(this,this.compareRows);}
this._filteredRows.sort(this._compareRowsDelegate);for (var i =this._filteredRows.length -1;i >=0;i--){this._filteredRows[i]._set_index(i);}
this._sorted =true;this._paginatedRows =null;this._filteredTable =null;}
if ((this._pageSize >0)&&!this._paginatedRows){this._paginatedRows =[];this._filteredTable =null;var len =this._filteredRows.length;var start =this._pageSize *this._pageIndex;if (len &&(start >=len)){this._pageIndex =Math.floor(len /this._pageSize)-1;start =this._pageSize *this._pageIndex;}
var end =start +this._pageSize;for(var i =start;(i <end)&&(i <len);i++){this._filteredRows[i]._set_index(i);this._paginatedRows.add(this._filteredRows[i]);}
}
else {this._paginatedRows =this._filteredRows;}
if (!this._filteredTable){this._filteredTable =new Sys.Preview.Data.DataRowCollection(this._paginatedRows,this._data);this._filteredTable.initialize();}
}
this.triggerChangeEvents(oldState,true);this._updating =false;},isValidAfterFiltering:function(row,filters,filterLength){for (var j =0;j <filterLength;j++){if (!filters[j].filter(row)){return false;}
}
return true;},triggerChangeEvents:function(oldState,lengthCanChange){var count;var pageIndex =this.get_pageIndex();if (lengthCanChange){if (this.get_pageCount()!==oldState.pageCount){this.raisePropertyChanged('pageCount');}
if (this.get_length()!==oldState.length){this.raisePropertyChanged('length');}
count =this.get_pageCount();if (pageIndex >=count){pageIndex =(count >0 ?count -1 :0);this.set_pageIndex(pageIndex);}
}
else {count =oldState.pageCount;}
if (pageIndex !==oldState.pageIndex){this.raisePropertyChanged('pageIndex');}
if ((pageIndex <count -1)!==oldState.hasNextPage){this.raisePropertyChanged('hasNextPage');}
if ((pageIndex >0)!==oldState.hasPreviousPage){this.raisePropertyChanged('hasPreviousPage');}
},prepareChange:function(){return {pageCount:this.get_pageCount(),pageIndex:this.get_pageIndex(),length:this.get_length(),hasNextPage:this.get_hasNextPage(),hasPreviousPage:this.get_hasPreviousPage()};}
}
Sys.Preview.Data.DataView.descriptor ={properties:[{name:'data',type:Sys.Preview.Data.DataTable },{name:'filteredData',type:Sys.Preview.Data.DataTable,readOnly:true },{name:'filters',type:Array,readOnly:true },{name:'hasNextPage',type:Boolean,readOnly:true},{name:'hasPreviousPage',type:Boolean,readOnly:true },{name:'length',type:Number,readOnly:true },{name:'pageCount',type:Number,readOnly:true },{name:'pageIndex',type:Number },{name:'pageSize',type:Number },{name:'sortColumn',type:String },{name:'sortDirection',type:Sys.Preview.Data.SortDirection } ],methods:[{name:'sort',params:[{name:'sortColumn',type:String},{name:'sortDirection',type:Sys.Preview.Data.SortDirection} ]} ]}
Sys.Preview.Data.DataView.registerClass('Sys.Preview.Data.DataView',Sys.Component);Sys.Preview.Data.DataFilter =function(){Sys.Preview.Data.DataFilter.initializeBase(this);}
Sys.Preview.Data.DataFilter.prototype ={filter:function(value){throw Error.notImplemented();},get_dataContext:function(){var dc =Sys.Preview.Data.DataFilter.callBaseMethod(this,'get_dataContext');if (!dc){if (this.owner){dc =this.owner.get_dataContext();}
}
return dc;},dispose:function(){this.owner =null;Sys.Preview.Data.DataFilter.callBaseMethod(this,'dispose');},raisePropertyChanged:function(propertyName){Sys.Preview.Data.DataFilter.callBaseMethod(this,'raisePropertyChanged',[propertyName]);if (this.owner){this.owner._raiseFilterChanged(this);}
},setOwner:function(owner){this.owner =owner;}
}
Sys.Preview.Data.DataFilter.registerClass('Sys.Preview.Data.DataFilter',Sys.Component);Sys.Preview.Data.PropertyFilter =function(){Sys.Preview.Data.PropertyFilter.initializeBase(this);}
Sys.Preview.Data.PropertyFilter.prototype ={_property:null,_value:null,get_property:function(){return this._property;},set_property:function(name){this._property =name;this.raisePropertyChanged('property');},get_value:function(){return this._value;},set_value:function(value){this._value =value;this.raisePropertyChanged('value');},filter:function(item){return Sys.Preview.TypeDescriptor.getProperty(item,this._property)===this._value;}
}
Sys.Preview.Data.PropertyFilter.descriptor ={properties:[{name:'property',type:String },{name:'value'} ]}
Sys.Preview.Data.PropertyFilter.registerClass('Sys.Preview.Data.PropertyFilter',Sys.Preview.Data.DataFilter);Sys.Preview.Data.DataSource =function(){Sys.Preview.Data.DataSource.initializeBase(this);this._parameters ={};}
Sys.Preview.Data.DataSource.prototype ={_data:null,_initialData:null,_autoLoad:false,_serviceURL:"",_loadMethod:"",_serviceType:Sys.Preview.Data.ServiceType.DataService,_isReady:true,_dataChangedDelegate:null,_request:null,add_dataAvailable:function(handler){this.get_events().addHandler("dataAvailable",handler);},remove_dataAvailable:function(handler){this.get_events().removeHandler("dataAvailable",handler);},_onDataAvailable:function(){var handler =this.get_events().getHandler("dataAvailable");if (handler){handler(this,Sys.EventArgs.Empty);}
},get_autoLoad:function(){return this._autoLoad;},set_autoLoad:function(value){this._autoLoad =value;},get_data:function(){return this._data;},set_data:function(data){var oldIsDirtyAndReady =this.get_isDirtyAndReady();var oldIsReady =this.get_isReady();var oldRowCount =this.get_rowCount();if (this._data &&this._dataChangedDelegate){this._data.remove_propertyChanged(this._dataChangedDelegate);}
if (data instanceof Array){data =new Sys.Preview.Data.DataTable([],data);}
this._data =data;if (this._data){if (!this._dataChangedDelegate){this._dataChangedDelegate =Function.createDelegate(this,this.onDataPropertyChanged);}
this._data.add_propertyChanged(this._dataChangedDelegate);}
this.raisePropertyChanged('data');if (oldIsDirtyAndReady !==this.get_isDirtyAndReady()){this.raisePropertyChanged('isDirtyAndReady');}
if (oldIsReady !==this.get_isReady()){this.raisePropertyChanged('isReady');}
if (oldRowCount !==this.get_rowCount()){this.raisePropertyChanged('rowCount');}
},get_initialData:function(){return this._initialData;},set_initialData:function(value){if (!this._data){if (this.get_isInitialized()){var data =null;if (value &&(value.length)){data =Sys.Serialization.JavaScriptSerializer.deserialize(value);}
this.set_data(data);}
else {this._initialData =value;}
}
},get_isDirtyAndReady:function(){return this._isReady &&this._data &&this._data.get_isDirty();},get_isReady:function(){return this._isReady;},_set_isReady:function(value){if (this._isReady !==value){var oldDirtyAndReady =this.get_isDirtyAndReady();this._isReady =value;this.raisePropertyChanged("isReady");if (this.get_isDirtyAndReady()!==oldDirtyAndReady){this.raisePropertyChanged("isDirtyAndReady");}
}
},get_loadMethod:function(){return this._loadMethod;},set_loadMethod:function(value){this._loadMethod =value;},get_parameters:function(){return this._parameters;},get_serviceURL:function(){return this._serviceURL;},set_serviceURL:function(url){this._serviceURL =url;},get_serviceType:function(){return this._serviceType;},set_serviceType:function(value){this._serviceType =value;},get_rowCount:function(){if (this._data){return this._data.get_length();}
return 0;},dispose:function(){if (this._data){this._data.dispose();}
this._data =null;Sys.Preview.Data.DataSource.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.Data.DataSource.callBaseMethod(this,'initialize');if (this._autoLoad ||this._initialData){this.load();}
},onDataPropertyChanged:function(sender,args){switch(args.get_propertyName()){case "isDirty":this.raisePropertyChanged("isDirtyAndReady");break;case "length":this.raisePropertyChanged("rowCount");break;}
},onRequestComplete:function(response,eventArgs){this.onLoadComplete(response.get_object());},onLoadComplete:function(rawData,userContext,methodName){var oldDirtyAndReady =this.get_isDirtyAndReady();this.set_data(eval(rawData));this._isReady =true;this.raisePropertyChanged("isReady");if (this.get_isDirtyAndReady()!==oldDirtyAndReady){this.raisePropertyChanged("isDirtyAndReady");}
this._onDataAvailable();},ready:function(){this._set_isReady(true);},load:function(){if (this._initialData){this.set_data(Sys.Serialization.JavaScriptSerializer.deserialize(this._initialData));this._initialData =null;return;}
this._set_isReady(false);if (this._serviceType ===Sys.Preview.Data.ServiceType.DataService){var method ="GetData";var params ={parameters:this._parameters,loadMethod:this._loadMethod};var onComplete =Function.createDelegate(this,this.onLoadComplete);var onError =Function.createDelegate(this,this.ready);this._request =Sys.Net._WebMethod._invoke(this,method,method,false,params,onComplete,onError,this);}
else {var onComplete =Function.createDelegate(this,this.onRequestComplete);var onErrorOrTimeout =Function.createDelegate(this,this.ready);var url =Sys.Net.WebRequest._createUrl(this._serviceURL,this._parameters);var request =new Sys.Net.WebRequest();request.set_url(url);request.add_completed(function(response,eventArgs){if (response.get_responseAvailable()){var statusCode =response.get_statusCode();if (statusCode >=200 ||statusCode <300){onComplete(response,eventArgs);}
else {onErrorOrTimeout();}
}
});request.invoke();}
},save:function(){if (this._data &&this._data.get_isDirty()){var changes =this._data.getChanges();this._set_isReady(false);if (this._serviceType ===Sys.Preview.Data.ServiceType.DataService){var method ="SaveData";var params ={changeList:changes,parameters:this._parameters,loadMethod:this._loadMethod};var onComplete =Function.createDelegate(this,this.onLoadComplete);var onError =Function.createDelegate(this,this.ready);this._request =Sys.Net._WebMethod._invoke(this,method,method,false,params,onComplete,onError,this);}
else {}
}
},_get_path:function(){return this.get_serviceURL();},get_timeout:function(){return 0;}
}
Sys.Preview.Data.DataSource.descriptor ={properties:[{name:'data',type:Object },{name:'autoLoad',type:Boolean },{name:'initialData',type:String },{name:'isDirtyAndReady',type:Boolean,readOnly:true },{name:'isReady',type:Boolean,readOnly:true },{name:'loadMethod',type:String },{name:'rowCount',type:Number,readOnly:true },{name:'serviceURL',type:String },{name:'parameters',type:Object,readOnly:true },{name:'serviceType',type:Sys.Preview.Data.ServiceType } ],methods:[{name:'load'},{name:'save'} ],events:[{name:'dataAvailable',readOnly:true } ]}
Sys.Preview.Data.DataSource.registerClass('Sys.Preview.Data.DataSource',Sys.Component);Sys.Preview.Data.XMLDataSource =function(){Sys.Preview.Data.XMLDataSource.initializeBase(this);}
Sys.Preview.Data.XMLDataSource.prototype ={_document:null,_initialDocument:null,_data:null,_xpath:'',_serviceURL:null,_parameters:null,_isReady:false,_autoLoad:false,add_documentAvailable:function(handler){this.get_events().addHandler("documentAvailable",handler);},remove_documentAvailable:function(handler){this.get_events().removeHandler("documentAvailable",handler);},_onDocumentAvailable:function(){var handler =this.get_events().getHandler("documentAvailable");if (handler){handler(this,Sys.EventArgs.Empty);}
},get_autoLoad:function(){return this._autoLoad;},set_autoLoad:function(value){this._autoLoad =value;},get_document:function(){return this._document;},get_data:function(){return this._data;},get_initialDocument:function(){return this._initialDocument;},set_initialDocument:function(value){if (!this._document){var document =new XMLDOM(value.trim());if (this.get_isInitialized()){this._setDocument(document);}
else {this._initialDocument =document;}
}
},get_isReady:function(){return this._isReady;},get_parameters:function(){if (this._parameters ===null){this._parameters ={};}
return this._parameters;},get_serviceURL:function(){return this._serviceURL;},set_serviceURL:function(value){this._serviceURL =value;},get_xpath:function(){return this._xpath;},set_xpath:function(value){if (this._xpath !==value){this._xpath =value;if (this._document){this._updateData();}
}
},dispose:function(){this._document =null;this._initialDocument =null;this._data =null;Sys.Preview.Data.XMLDataSource.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.Data.XMLDataSource.callBaseMethod(this,'initialize');if (this._autoLoad){this.load();}
},load:function(){if (this._initialDocument){var document =this._initialDocument;this._initialDocument =null;this._setDocument(document);this._updateReady(true);}
else {this._invokeService();}
},_invokeService:function(){var onComplete =Function.createDelegate(this,this._serviceCompleted);var onErrorOrTimeout =Function.createDelegate(this,this._serviceTimeout);var url =Sys.Net.WebRequest._createUrl(this._serviceURL,this.get_parameters());var request =new Sys.Net.WebRequest();request.set_url(url);request.add_completed(function(response,eventArgs){if (response.get_responseAvailable()){var statusCode =response.get_statusCode();if (statusCode >=200 ||statusCode <300){onComplete(response,eventArgs);}
else {onErrorOrTimeout();}
}
});request.invoke();this._updateReady(false);},_serviceCompleted:function(sender,eventArgs){if (sender.get_statusCode()===200){this._setDocument(sender.get_xml());}
this._updateReady(true);},_serviceTimeout:function(sender,eventArgs){this._updateReady(true);},_setDocument:function(document){this._document =document;this._updateData();this.raisePropertyChanged('document');this._onDocumentAvailable();},_updateData:function(){var xpath =this._xpath;if (!xpath ||!xpath.length){xpath ='*/*';}
var nodes =this._document.selectNodes(xpath);var data =[];for (var i =0;i <nodes.length;i++){var node =nodes[i];if (!node ||(node.nodeType !==1)){continue;}
data.add(node);}
this._data =data;this.raisePropertyChanged('data');},_updateReady:function(ready){this._isReady =ready;this.raisePropertyChanged('isReady');}
}
Sys.Preview.Data.XMLDataSource.descriptor ={properties:[{name:'autoLoad',type:Boolean },{name:'data',type:Object,readOnly:true },{name:'document',type:Object,readOnly:true },{name:'initialDocument',type:String },{name:'isReady',type:Boolean,readOnly:true },{name:'parameters',type:Object,readOnly:true },{name:'serviceURL',type:String },{name:'xpath',type:String } ],events:[{name:'documentAvailable',readOnly:true } ],methods:[{name:'load'} ]}
Sys.Preview.Data.XMLDataSource.registerClass('Sys.Preview.Data.XMLDataSource',Sys.Component);Type.registerNamespace('Sys.Preview.UI');Sys.Preview.UI.DialogResult =function(){throw Error.invalidOperation();}
Sys.Preview.UI.DialogResult.prototype ={OK:0,Cancel:1
}
Sys.Preview.UI.DialogResult.registerEnum('Sys.Preview.UI.DialogResult');Sys.Preview.UI.Color =function(r,g,b){Sys.Preview.UI.Color.initializeBase(this);this._r =r;this._g =g;this._b =b;}
Sys.Preview.UI.Color.prototype ={get_blue:function(){return this._b;},get_green:function(){return this._g;},get_red:function(){return this._r;},toString:function(){var red =this._r.toString(16);if (this._r <16){red ='0'+red;}
var green =this._g.toString(16);if (this._g <16){green ='0'+green;}
var blue =this._b.toString(16);if (this._b <16){blue ='0'+blue;}
return "#"+red +green +blue;}
}
Sys.Preview.UI.Color.registerClass('Sys.Preview.UI.Color');Sys.Preview.UI.Color.parse =function(value){if (value &&(value.length ===7)&&value.startsWith("#")){var red =parseInt('0x'+value.substr(1,2));var green =parseInt('0x'+value.substr(3,2));var blue =parseInt('0x'+value.substr(5,2));return new Sys.Preview.UI.Color(red,green,blue);}
return null;}
Sys.Preview.Attributes.defineAttribute('ValueProperty');Sys.Preview.UI.CommandEventArgs =function(commandName,argument){Sys.Preview.UI.CommandEventArgs.initializeBase(this);this._commandName =commandName;this._argument =argument;}
Sys.Preview.UI.CommandEventArgs.prototype ={get_argument:function(){return this._argument;},get_commandName:function(){return this._commandName;}
}
Sys.Preview.UI.CommandEventArgs.descriptor ={properties:[{name:'argument',type:String,readOnly:true},{name:'commandName',type:String,readOnly:true} ]}
Sys.Preview.UI.CommandEventArgs.registerClass('Sys.Preview.UI.CommandEventArgs',Sys.EventArgs);Sys.Preview.UI.IValidationTarget =function(){}
Sys.Preview.UI.IValidationTarget.prototype ={validated:null,get_isInvalid:function(){throw Error.notImplemented();},get_validationMessage:function(){throw Error.notImplemented();},validate:function(){throw Error.notImplemented();}
}
Sys.Preview.UI.IValidationTarget.registerInterface('Sys.Preview.UI.IValidationTarget');Sys.Preview.UI.Validator =function(){Sys.Preview.UI.Validator.initializeBase(this);}
Sys.Preview.UI.Validator.prototype ={_errorMessage:null,_isInvalid:false,get_dataContext:function(){var dc =Sys.Component.callBaseMethod(this,'get_dataContext');if (!dc){if (this.control){dc =this.control.get_dataContext();}
}
return dc;},get_errorMessage:function(){return this._errorMessage;},set_errorMessage:function(value){this._errorMessage =value;},get_isInvalid:function(){return this._isInvalid;},dispose:function(){this.control =null;Sys.Preview.UI.Validator.callBaseMethod(this,'dispose');},performValidation:function(value){this._isInvalid =!this.validate(value);},setOwner:function(control){this.control =control;},validate:function(){throw Error.notImplemented();}
}
Sys.Preview.UI.Validator.descriptor ={properties:[{name:'errorMessage',type:String },{name:'isInvalid',type:Boolean } ]}
Sys.Preview.UI.Validator.registerClass('Sys.Preview.UI.Validator',Sys.Component);Sys.Preview.UI.ValidationGroup =function(){Sys.Preview.UI.ValidationGroup.initializeBase(this);this._associatedControls =[];}
Sys.Preview.UI.ValidationGroup.prototype ={_valid:true,_validated:false,_validatedHandler:null,get_associatedControls:function(){return this._associatedControls;},get_isValid:function(){if (!this._validated){this.validate();this._validated =true;}
return this._valid;},dispose:function(){if (this._associatedControls){for (var i =0;i <this._associatedControls.length;i++){this._associatedControls[i].get_component().remove_validated(this._validatedHandler);this._associatedControls[i].dispose();}
this._validatedHandler =null;this._associatedControls =null;}
Sys.Preview.UI.ValidationGroup.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.ValidationGroup.callBaseMethod(this,'initialize');this._validatedHandler =Function.createDelegate(this,this._onControlValidated);for (var i =0;i <this._associatedControls.length;i++){this._associatedControls[i].get_component().add_validated(this._validatedHandler);}
},validate:function(){var valid =true;if (this._associatedControls &&this._associatedControls.length){for (var i =0;i <this._associatedControls.length;i++){if (this._associatedControls[i].get_component().get_isInvalid()){valid =false;break;}
}
}
this._valid =valid;},_onControlValidated:function(sender,eventArgs){var isValid =this._valid;this.validate();if (this._valid !==isValid){this.raisePropertyChanged('isValid');}
}
}
Sys.Preview.UI.ValidationGroup.descriptor ={properties:[{name:'isValid',type:Boolean,readOnly:true},{name:'associatedControls',type:Array,readOnly:true} ]}
Sys.Preview.UI.ValidationGroup.registerClass('Sys.Preview.UI.ValidationGroup',Sys.Component);Sys.Preview.UI.InputControl =function(associatedElement){Sys.Preview.UI.InputControl.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.InputControl.prototype ={_valuePropertyName:null,_validators:null,_invalid:false,_validated:false,_validationMessage:null,add_validated:function(handler){this.get_events().addHandler("validated",handler);},remove_validated:function(handler){if(this._disposed)return;this.get_events().removeHandler("validated",handler);},_onValidated:function(){var handler =this.get_events().getHandler("validated");if (handler){handler(this,Sys.EventArgs.Empty);}
},get_isInvalid:function(){if (!this._validated){this.validate(false);this._validated =true;}
return this._invalid;},get_validationMessage:function(){return this.get_isInvalid()?this._validationMessage :'';},get_validators:function(){if (!this._validators){this._validators =Sys.Component.createCollection(this);}
return this._validators;},dispose:function(){if (this._validators){this._validators.dispose();this._validators =null;}
this._disposed =true;Sys.Preview.UI.InputControl.callBaseMethod(this,'dispose');},raisePropertyChanged:function(propertyName){if (this._validators &&this._validators.length){if (!this._valuePropertyName){this._valuePropertyName =Sys.Preview.TypeDescriptor.getAttribute(this,Sys.Preview.Attributes.ValueProperty);}
if (this._valuePropertyName ===propertyName){if (!this.validate(true)){return;}
}
}
Sys.Preview.UI.InputControl.callBaseMethod(this,'raisePropertyChanged',[propertyName]);},validate:function(raiseEvent){if (!this._validators ||!this._validators.length){return true;}
if (!this._valuePropertyName){this._valuePropertyName =Sys.Preview.TypeDescriptor.getAttribute(this,Sys.Preview.Attributes.ValueProperty);}
var value =Sys.Preview.TypeDescriptor.getProperty(this,this._valuePropertyName);var invalidValidator =null;for (var i =0;i <this._validators.length;i++){var validator =this._validators[i];validator.performValidation(value);if (validator.get_isInvalid()){invalidValidator =validator;this._validationMessage =invalidValidator.get_errorMessage();this._invalid =true;break;}
}
if (!invalidValidator){this._invalid =false;}
if (raiseEvent){this._onValidated();}
return !this._invalid;}
}
Sys.Preview.UI.InputControl.descriptor ={properties:[{name:'isInvalid',type:Boolean,readOnly:true },{name:'validationMessage',type:String,readOnly:true },{name:'validators',type:Array,readOnly:true } ]}
Sys.Preview.UI.InputControl.registerClass('Sys.Preview.UI.InputControl',Sys.UI.Control,Sys.Preview.UI.IValidationTarget);Sys.Preview.UI.MessageBoxStyle =function(){throw Error.invalidOperation();}
Sys.Preview.UI.MessageBoxStyle.prototype ={OK:0,OKCancel:1
}
Sys.Preview.UI.MessageBoxStyle.registerEnum('Sys.Preview.UI.MessageBoxStyle');Sys.Preview.UI.Window =function(){throw Error.invalidOperation();}
Sys.Preview.UI.Window.messageBox =function(text,style){if (!style){style =Sys.Preview.UI.MessageBoxStyle.OK;}
var result =Sys.Preview.UI.DialogResult.OK;switch (style){case Sys.Preview.UI.MessageBoxStyle.OK:window.alert(text);break;case Sys.Preview.UI.MessageBoxStyle.OKCancel:if (window.confirm(text)===false){result =Sys.Preview.UI.DialogResult.Cancel;}
break;}
return result;}
Sys.Preview.UI.Window.inputBox =function(promptText,defaultValue){if (!defaultValue){defaultValue ='';}
return window.prompt(promptText,defaultValue);}
Sys.Preview.UI.ITemplate =function(){throw Error.notImplemented();}
Sys.Preview.UI.ITemplate.prototype ={createInstance:function(){throw Error.notImplemented();},initialize:function(){throw Error.notImplemented();}
}
Sys.Preview.UI.ITemplate.registerInterface('Sys.Preview.UI.ITemplate');Sys.Preview.UI.ITemplate.disposeInstance =function(container){if (container.markupContext){container.markupContext.dispose();container.markupContext =null;}
}
Sys.Preview.UI.TemplateInstance =function(){this.instanceElement =null;this.callbackResult =null;}
Sys.Preview.UI.Template =function(layoutElement,scriptNode,parentMarkupContext,prefixNamespaceMapping){Sys.Preview.UI.Template.initializeBase(this);this._layoutElement =layoutElement;this._scriptNode =scriptNode;this._parentMarkupContext =parentMarkupContext;this._prefixNamespaceMapping =prefixNamespaceMapping;}
Sys.Preview.UI.Template.prototype ={createInstance:function(containerElement,dataContext,instanceElementCreatedCallback,callbackContext){var result =new Sys.Preview.UI.TemplateInstance();result.instanceElement =this._layoutElement.cloneNode(true);var documentFragment =document.createDocumentFragment();documentFragment.appendChild(result.instanceElement);var markupContext =Sys.Preview.MarkupContext.createLocalContext(documentFragment,this._parentMarkupContext,dataContext);markupContext.open();Sys.Preview.MarkupParser.parseNodes(this._scriptNode.childNodes,markupContext,this._prefixNamespaceMapping);if (instanceElementCreatedCallback){result.callbackResult =instanceElementCreatedCallback(result.instanceElement,markupContext,callbackContext);}
result.instanceElement.markupContext =markupContext;containerElement.appendChild(result.instanceElement);markupContext.close();return result;},dispose:function(){this._layoutElement =null;this._scriptNode =null;this._parentMarkupContext =null;},initialize:function(){if (this._layoutElement.parentNode){this._layoutElement.parentNode.removeChild(this._layoutElement);}
}
}
Sys.Preview.UI.Template.registerClass('Sys.Preview.UI.Template',null,Sys.Preview.UI.ITemplate,Sys.IDisposable);Sys.Preview.UI.Template.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){var layoutElementAttribute =node.attributes.getNamedItem('layoutElement');var layoutElementID =layoutElementAttribute.nodeValue;var layoutElement =markupContext.findElement(layoutElementID);return new Sys.Preview.UI.Template(layoutElement,node,markupContext,prefixNamespaceMapping);}
Sys.Preview.UI.PositioningMode =function(){throw Error.invalidOperation();}
Sys.Preview.UI.PositioningMode.prototype ={Absolute:0,Center:1,BottomLeft:2,BottomRight:3,TopLeft:4,TopRight:5
}
Sys.Preview.UI.PositioningMode.registerEnum('Sys.Preview.UI.PositioningMode');Sys.Preview.UI.PopupBehavior =function(element){Sys.Preview.UI.PopupBehavior.initializeBase(this,[element]);}
Sys.Preview.UI.PopupBehavior.prototype ={_x:0,_y:0,_positioningMode:Sys.Preview.UI.PositioningMode.Absolute,_parentElement:null,_moveHandler:null,get_parentElement:function(){return this._parentElement;},set_parentElement:function(element){this._parentElement =element;this.raisePropertyChanged('parentElement');},get_positioningMode:function(){return this._positioningMode;},set_positioningMode:function(mode){this._positioningMode =mode;this.raisePropertyChanged('positioningMode');},get_x:function(){return this._x;},set_x:function(x){this._x =x;if (Sys.UI.DomElement.getVisible(this.get_element())){this.show();}
this.raisePropertyChanged('x');},get_y:function(){return this._y;},set_y:function(y){this._y =y;if (Sys.UI.DomElement.getVisible(this.get_element())){this.show();}
this.raisePropertyChanged('y');},hide:function(){var elt =this.get_element();Sys.UI.DomElement.setVisible(elt,false);if (this._moveHandler){Sys.UI.DomEvent.removeHandler(elt,"move",this._moveHandler);this._moveHandler =null;}
if (elt.originalWidth){elt.style.width =elt.originalWidth +"px";elt.originalWidth =null;}
if (Sys.Browser.agent ===Sys.Browser.InternetExplorer){var childFrame =elt._hideWindowedElementsIFrame;if (childFrame){childFrame.style.display ="none";}
}
},show:function(){var elt =this.get_element();Sys.UI.DomElement.setVisible(elt,true);var offsetParent =elt.offsetParent;if (!offsetParent)offsetParent =document.documentElement;var offsetParentLocation =Sys.UI.DomElement.getLocation(offsetParent);var parent =this._parentElement ?this._parentElement :offsetParent;var parentBounds =Sys.UI.DomElement.getBounds(parent);var diff ={x:parentBounds.x -offsetParentLocation.x,y:parentBounds.y -offsetParentLocation.y};var width =elt.offsetWidth -(elt.clientLeft ?elt.clientLeft *2 :0);var height =elt.offsetHeight -(elt.clientTop ?elt.clientTop *2 :0);var position;switch (this._positioningMode){case Sys.Preview.UI.PositioningMode.Center:position ={x:Math.round(parentBounds.width /2 -width /2),y:Math.round(parentBounds.height /2 -height /2)};break;case Sys.Preview.UI.PositioningMode.BottomLeft:position ={x:0,y:parentBounds.height
};break;case Sys.Preview.UI.PositioningMode.BottomRight:position ={x:parentBounds.width -width,y:parentBounds.height
};break;case Sys.Preview.UI.PositioningMode.TopLeft:position ={x:0,y:-elt.offsetHeight
};break;case Sys.Preview.UI.PositioningMode.TopRight:position ={x:parentBounds.width -width,y:-elt.offsetHeight
};break;default:position ={x:0,y:0};}
position.x +=this._x +diff.x;position.y +=this._y +diff.y;Sys.UI.DomElement.setLocation(elt,position.x,position.y);elt.style.width =width +"px";var newPosition =Sys.UI.DomElement.getBounds(elt);var documentWidth =self.innerWidth ?self.innerWidth :document.documentElement.clientWidth;if (!documentWidth){documentWidth =document.body.clientWidth;}
if (newPosition.x +newPosition.width >documentWidth -5){position.x -=newPosition.x +newPosition.width -documentWidth +5;}
if (newPosition.x <0){position.x -=newPosition.x;}
if (newPosition.y <0){position.y -=newPosition.y;}
Sys.UI.DomElement.setLocation(elt,position.x,position.y);if (Sys.Browser.agent ===Sys.Browser.InternetExplorer){var childFrame =elt._hideWindowedElementsIFrame;if (!childFrame){childFrame =document.createElement("iframe");childFrame.src ="about:blank";childFrame.style.position ="absolute";childFrame.style.display ="none";childFrame.scrolling ="no";childFrame.frameBorder ="0";childFrame.style.filter ="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";elt.parentNode.insertBefore(childFrame,elt);elt._hideWindowedElementsIFrame =childFrame;this._moveHandler =Function.createDelegate(this,this._onMove);Sys.UI.DomEvent.addHandler(elt,"move",this._moveHandler);}
childFrame.style.top =elt.style.top;childFrame.style.left =elt.style.left;childFrame.style.width =elt.offsetWidth +"px";childFrame.style.height =elt.offsetHeight +"px";childFrame.style.display =elt.style.display;if (elt.currentStyle &&elt.currentStyle.zIndex){childFrame.style.zIndex =elt.currentStyle.zIndex;}
else if (elt.style.zIndex){childFrame.style.zIndex =elt.style.zIndex;}
}
},initialize:function(){Sys.Preview.UI.PopupBehavior.callBaseMethod(this,'initialize');this.hide();this.get_element().style.position ="absolute";},dispose:function(){if (Sys.UI.DomElement.getVisible(this.get_element())){this.hide();}
this._parentElement =null;Sys.Preview.UI.PopupBehavior.callBaseMethod(this,'dispose');},_onMove:function(){var elt =this.get_element();if (elt._hideWindowedElementsIFrame){elt.parentNode.insertBefore(elt._hideWindowedElementsIFrame,elt);elt._hideWindowedElementsIFrame.style.top =elt.style.top;elt._hideWindowedElementsIFrame.style.left =elt.style.left;}
}
}
Sys.Preview.UI.PopupBehavior.descriptor ={properties:[{name:'parentElement',type:Sys.UI.DomElement},{name:'positioningMode',type:Sys.Preview.UI.PositioningMode},{name:'x',type:Number},{name:'y',type:Number} ],methods:[{name:'show'},{name:'hide'} ]}
Sys.Preview.UI.PopupBehavior.registerClass('Sys.Preview.UI.PopupBehavior',Sys.UI.Behavior);Sys.Preview.UI.ClickBehavior =function(element){Sys.Preview.UI.ClickBehavior.initializeBase(this,[element]);}
Sys.Preview.UI.ClickBehavior.prototype ={_clickHandler:null,add_click:function(handler){this.get_events().addHandler('click',handler);},remove_click:function(handler){this.get_events().removeHandler('click',handler);},dispose:function(){if (this._clickHandler){$removeHandler(this.get_element(),'click',this._clickHandler);}
Sys.Preview.UI.ClickBehavior.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.ClickBehavior.callBaseMethod(this,'initialize');this._clickHandler =Function.createDelegate(this,this._onClick);$addHandler(this.get_element(),'click',this._clickHandler);},_onClick:function(){var handler =this.get_events().getHandler('click');if(handler){handler(this,Sys.EventArgs.Empty);}
}
}
Sys.Preview.UI.ClickBehavior.descriptor ={events:[{name:'click'} ]}
Sys.Preview.UI.ClickBehavior.registerClass('Sys.Preview.UI.ClickBehavior',Sys.UI.Behavior);Sys.Preview.UI.HoverBehavior =function(element){Sys.Preview.UI.HoverBehavior.initializeBase(this,[element]);}
Sys.Preview.UI.HoverBehavior.prototype ={_hoverHandlers:null,_unhoverHandlers:null,_hoverElement:null,_hoverCount:0,_unhoverDelay:0,get_hoverElement:function(){return this._hoverElement;},set_hoverElement:function(element){this._hoverElement =element;},get_unhoverDelay:function(){return this._unhoverDelay;},set_unhoverDelay:function(value){this._unhoverDelay =value;this.raisePropertyChanged('unhoverDelay');},dispose:function(){var element =this.get_element();if (this._hoverHandlers &&this._hoverHandlers.length){$removeHandler(element,"mouseover",this._hoverHandlers[0]);$removeHandler(element,"focus",this._hoverHandlers[0]);if (this._hoverElement &&(this._hoverHandlers.length >1)){$removeHandler(this._hoverElement,"mouseover",this._hoverHandlers[1]);$removeHandler(this._hoverElement,"focus",this._hoverHandlers[1]);}
this._hoverHandlers =null;}
if (this._unhoverHandlers &&this._unhoverHandlers.length){$removeHandler(element,"mouseout",this._unhoverHandlers[0]);$removeHandler(element,"blur",this._unhoverHandlers[0]);if (this._hoverElement &&(this._unhoverHandlers.length >1)){$removeHandler(this._hoverElement,"mouseout",this._unhoverHandlers[1]);$removeHandler(this._hoverElement,"blur",this._unhoverHandlers[1]);}
this._unhoverHandlers =null;}
Sys.Preview.UI.HoverBehavior.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.HoverBehavior.callBaseMethod(this,'initialize');var element =this.get_element();this._hoverHandlers =[];this._hoverHandlers[0]=Function.createDelegate(this,this._onHover);$addHandler(element,"mouseover",this._hoverHandlers[0]);$addHandler(element,"focus",this._hoverHandlers[0]);this._unhoverHandlers =[];var unhoverHandler =this._unhoverDelay ?this._onDelayedUnhover :this._onUnhover;this._unhoverHandlers[0]=Function.createDelegate(this,unhoverHandler);$addHandler(element,"mouseout",this._unhoverHandlers[0]);$addHandler(element,"blur",this._unhoverHandlers[0]);if (this._hoverElement){this._hoverHandlers[1]=Function.createDelegate(this,this._onHover);$addHandler(this._hoverElement,"mouseover",this._hoverHandlers[1]);$addHandler(this._hoverElement,"focus",this._hoverHandlers[1]);this._unhoverHandlers[1]=Function.createDelegate(this,unhoverHandler);$addHandler(this._hoverElement,"mouseout",this._unhoverHandlers[1]);$addHandler(this._hoverElement,"blur",this._unhoverHandlers[1]);}
},add_hover:function(handler){this.get_events().addHandler("hover",handler);},remove_hover:function(handler){this.get_events().removeHandler("hover",handler);},_onHover:function(ev){this._hoverCount++;var handler =this.get_events().getHandler("hover");if (handler){handler(this,Sys.EventArgs.Empty);}
},add_unhover:function(handler){this.get_events().addHandler("unhover",handler);},remove_unhover:function(handler){this.get_events().removeHandler("unhover",handler);},_onDelayedUnhover:function(){window.setTimeout(Function.createDelegate(this,this._onUnhover),this._unhoverDelay);},_onUnhover:function(ev){this._hoverCount--;if (this._hoverCount ===0){var handler =this.get_events().getHandler("unhover");if (handler){handler(this,Sys.EventArgs.Empty);}
}
}
}
Sys.Preview.UI.HoverBehavior.descriptor ={properties:[{name:'hoverElement',type:Sys.UI.DomElement},{name:'unhoverDelay',type:Number} ],events:[{name:'hover'},{name:'unhover'} ]}
Sys.Preview.UI.HoverBehavior.registerClass('Sys.Preview.UI.HoverBehavior',Sys.UI.Behavior);Sys.Preview.UI.AutoCompleteBehavior =function(element){Sys.Preview.UI.AutoCompleteBehavior.initializeBase(this,[element]);}
Sys.Preview.UI.AutoCompleteBehavior.prototype ={_serviceURL:null,_serviceMethod:null,_minimumPrefixLength:3,_completionSetCount:10,_completionInterval:1000,_completionListElement:null,_popupBehavior:null,_timer:null,_cache:null,_currentPrefix:null,_selectIndex:null,_focusHandler:null,_blurHandler:null,_keyDownHandler:null,_mouseDownHandler:null,_mouseUpHandler:null,_mouseOverHandler:null,_tickHandler:null,_enableCaching:true,get_completionInterval:function(){return this._completionInterval;},set_completionInterval:function(value){this._completionInterval =value;},get_completionList:function(){return this._completionListElement;},set_completionList:function(value){this._completionListElement =value;},get_completionSetCount:function(){return this._completionSetCount;},set_completionSetCount:function(value){this._completionSetCount =value;},get_minimumPrefixLength:function(){return this._minimumPrefixLength;},set_minimumPrefixLength:function(value){this._minimumPrefixLength =value;},get_serviceMethod:function(){return this._serviceMethod;},set_serviceMethod:function(value){this._serviceMethod =value;},get_serviceURL:function(){return this._serviceURL;},set_serviceURL:function(value){this._serviceURL =value;},get_enableCaching:function(){return this._enableCaching;},set_enableCaching:function(value){this._enableCaching =value;},_get_path:function(){return this.get_serviceURL();},get_timeout:function(){return 0;},dispose:function(){if(!this._timer){Sys.Preview.UI.AutoCompleteBehavior.callBaseMethod(this,'dispose');return;}
this._timer =null;var element =this.get_element();$removeHandler(element,"focus",this._focusHandler);$removeHandler(element,"blur",this._blurHandler);$removeHandler(element,"keydown",this._keyDownHandler);$removeHandler(this._completionListElement,'mousedown',this._mouseDownHandler);$removeHandler(this._completionListElement,'mouseup',this._mouseUpHandler);$removeHandler(this._completionListElement,'mouseover',this._mouseOverHandler);this._tickHandler =null;this._focusHandler =null;this._blurHandler =null;this._keyDownHandler =null;this._mouseDownHandler =null;this._mouseUpHandler =null;this._mouseOverHandler =null;Sys.Preview.UI.AutoCompleteBehavior.callBaseMethod(this,'dispose');},initializeTimer:function(timer){timer.set_interval(this._completionInterval);timer.add_tick(this._tickHandler);},initializeTextBox:function(element){element.autocomplete ="off";$addHandler(element,"focus",this._focusHandler);$addHandler(element,"blur",this._blurHandler);$addHandler(element,"keydown",this._keyDownHandler);},initializeCompletionList:function(element){var completionListStyle =element.style;completionListStyle.visibility ='hidden';completionListStyle.backgroundColor ='window';completionListStyle.color ='windowtext';completionListStyle.border ='solid 1px buttonshadow';completionListStyle.cursor ='default';completionListStyle.unselectable ='unselectable';completionListStyle.overflow ='hidden';var elementBounds =Sys.UI.DomElement.getBounds(this.get_element());completionListStyle.width =(elementBounds.width -2)+'px';$addHandler(element,"mousedown",this._mouseDownHandler);$addHandler(element,"mouseup",this._mouseUpHandler);$addHandler(element,"mouseover",this._mouseOverHandler);},initialize:function(){Sys.Preview.UI.AutoCompleteBehavior.callBaseMethod(this,'initialize');this._tickHandler =Function.createDelegate(this,this._onTimerTick);this._focusHandler =Function.createDelegate(this,this._onGotFocus);this._blurHandler =Function.createDelegate(this,this._onLostFocus);this._keyDownHandler =Function.createDelegate(this,this._onKeyDown);this._mouseDownHandler =Function.createDelegate(this,this._onListMouseDown);this._mouseUpHandler =Function.createDelegate(this,this._onListMouseUp);this._mouseOverHandler =Function.createDelegate(this,this._onListMouseOver);this._timer =new Sys.Preview.Timer();this.initializeTimer(this._timer);var element =this.get_element();this.initializeTextBox(element);if (!this._completionListElement){this._completionListElement =document.createElement('DIV');document.body.appendChild(this._completionListElement);}
this.initializeCompletionList(this._completionListElement);var popupControl =new Sys.UI.Control(this._completionListElement);this._popupBehavior =new Sys.Preview.UI.PopupBehavior(this._completionListElement);this._popupBehavior.set_parentElement(element);this._popupBehavior.set_positioningMode(Sys.Preview.UI.PositioningMode.BottomLeft);this._popupBehavior.initialize();popupControl.initialize();},_hideCompletionList:function(){this._popupBehavior.hide();this._completionListElement.innerHTML ='';this._selectIndex =-1;},_highlightItem:function(item){var children =this._completionListElement.childNodes;for (var i =0;i <children.length;i++){var child =children[i];if (child !==item){child.style.backgroundColor ='window';child.style.color ='windowtext';}
}
item.style.backgroundColor ='highlight';item.style.color ='highlighttext';},_onListMouseDown:function(ev){if (ev.target !==this._completionListElement){this._setText(ev.target.firstChild.nodeValue);}
},_onListMouseUp:function(ev){this.get_element().focus();},_onListMouseOver:function(ev){var item =ev.target;this._selectIndex =-1;this._highlightItem(item);},_onGotFocus:function(ev){this._timer.set_enabled(true);},_onKeyDown:function(ev){var k =ev.keyCode ?ev.keyCode :ev.rawEvent.keyCode;if (k ===Sys.UI.Key.esc){this._hideCompletionList();ev.preventDefault();}
else if (k ===Sys.UI.Key.up){if (this._selectIndex >0){this._selectIndex--;this._highlightItem(this._completionListElement.childNodes[this._selectIndex]);ev.preventDefault();}
}
else if (k ===Sys.UI.Key.down){if (this._selectIndex <(this._completionListElement.childNodes.length -1)){this._selectIndex++;this._highlightItem(this._completionListElement.childNodes[this._selectIndex]);ev.preventDefault();}
}
else if (k ===Sys.UI.Key["return"]){if (this._selectIndex !==-1){this._setText(this._completionListElement.childNodes[this._selectIndex].firstChild.nodeValue);ev.preventDefault();}
}
if (k !==Sys.UI.Key.tab){this._timer.set_enabled(true);}
},_onLostFocus:function(){this._timer.set_enabled(false);this._hideCompletionList();},_onMethodComplete:function(result,context,methodName){this._update(context,result,true);},_onMethodFailed:function(err,response,context){},_onTimerTick:function(sender,eventArgs){if (this._serviceURL &&this._serviceMethod){var text =this.get_element().value;if (text.trim().length <this._minimumPrefixLength){this._update('',null,false);return;}
if (this._currentPrefix !==text){this._currentPrefix =text;if (this._cache &&this._cache[text]){this._update(text,this._cache[text],false);return;}
Sys.Net._WebMethod._invoke(this,this._serviceMethod,this._serviceMethod,false,{prefixText :this._currentPrefix,count:this._completionSetCount },Function.createDelegate(this,this._onMethodComplete),Function.createDelegate(this,this._onMethodFailed),text);}
}
},_setText:function(text){this._timer.set_enabled(false);this._currentPrefix =text;var element =this.get_element();var control =element.control;if (control &&Sys.Preview.UI.TextBox.isInstanceOfType(control)){control.set_text(text);}
else {element.value =text;}
this._hideCompletionList();},_update:function(prefixText,completionItems,cacheResults){if (cacheResults &&this.get_enableCaching()){if (!this._cache){this._cache ={};}
this._cache[prefixText]=completionItems;}
this._completionListElement.innerHTML ='';this._selectIndex =-1;if (completionItems &&completionItems.length){for (var i =0;i <completionItems.length;i++){var itemElement =document.createElement('div');itemElement.appendChild(document.createTextNode(completionItems[i]));itemElement.__item ='';var itemElementStyle =itemElement.style;itemElementStyle.padding ='1px';itemElementStyle.textAlign ='left';itemElementStyle.textOverflow ='ellipsis';itemElementStyle.backgroundColor ='window';itemElementStyle.color ='windowtext';this._completionListElement.appendChild(itemElement);}
this._popupBehavior.show();}
else {this._popupBehavior.hide();}
} }
Sys.Preview.UI.AutoCompleteBehavior.descriptor ={properties:[{name:'completionInterval',type:Number},{name:'completionList',type:Sys.UI.DomElement},{name:'completionSetCount',type:Number},{name:'minimumPrefixLength',type:Number},{name:'serviceMethod',type:String},{name:'serviceURL',type:String},{name:'appURL',type:String },{name:'enableCaching',type:Boolean } ]}
Sys.Preview.UI.AutoCompleteBehavior.registerClass('Sys.Preview.UI.AutoCompleteBehavior',Sys.UI.Behavior);Sys.Preview.UI.Label =function(associatedElement){Sys.Preview.UI.Label.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Label.prototype ={_htmlEncode:false,get_htmlEncode:function(){return this._htmlEncode;},set_htmlEncode:function(value){this._htmlEncode =value;},get_text:function(){var element =this.get_element();if (this._htmlEncode){return element.innerText;}
else {return element.innerHTML;}
},set_text:function(value){if (!value)value ="";var element =this.get_element();if (this._htmlEncode){if (element.innerText !==value){element.innerText =value;this.raisePropertyChanged('text');}
}
else {if (element.innerHTML !==value){element.innerHTML =value;this.raisePropertyChanged('text');}
}
}
}
Sys.Preview.UI.Label.descriptor ={properties:[{name:'htmlEncode',type:Boolean },{name:'text',type:String } ]}
Sys.Preview.UI.Label.registerClass('Sys.Preview.UI.Label',Sys.UI.Control);Sys.Preview.UI.Image =function(associatedElement){Sys.Preview.UI.Image.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Image.prototype ={get_alternateText:function(){return this.get_element().alt;},set_alternateText:function(value){this.get_element().alt =value;},get_height:function(){return this.get_element().height;},set_height:function(value){this.get_element().height =value;},get_imageURL:function(){return this.get_element().src;},set_imageURL:function(value){this.get_element().src =value;},get_width:function(){return this.get_element().width;},set_width:function(value){this.get_element().width =value;}
}
Sys.Preview.UI.Image.descriptor ={properties:[{name:'alternateText',type:String },{name:'height'},{name:'imageURL',type:String },{name:'width'} ]}
Sys.Preview.UI.Image.registerClass('Sys.Preview.UI.Image',Sys.UI.Control);if(Sys.Browser.agent ===Sys.Browser.Safari){Sys.Preview.UI.Image_ =function(element){Sys.Preview.UI.Image_.initializeBase(this,[element]);}
Sys.Preview.UI.Image_.registerClass('Sys.Preview.UI.Image_',Sys.Preview.UI.Image);}
Sys.Preview.UI.HyperLink =function(associatedElement){Sys.Preview.UI.HyperLink.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.HyperLink.prototype ={_clickHandler:null,get_navigateURL:function(){return this.get_element().href;},set_navigateURL:function(value){this.get_element().href =value?value :"";},initialize:function(){Sys.Preview.UI.HyperLink.callBaseMethod(this,'initialize');this._clickHandler =Function.createDelegate(this,this._onClick);$addHandler(this.get_element(),"click",this._clickHandler);},dispose:function(){if (this._clickHandler){$removeHandler(this.get_element(),"click",this._clickHandler);}
Sys.Preview.UI.HyperLink.callBaseMethod(this,'dispose');},add_click:function(handler){this.get_events().addHandler("click",handler);},remove_click:function(handler){this.get_events().removeHandler("click",handler);},_onClick:function(){var handler =this.get_events().getHandler("click");if (handler){handler(this,Sys.EventArgs.Empty);}
}
}
Sys.Preview.UI.HyperLink.descriptor ={properties:[{name:'navigateURL',type:String } ],events:[{name:'click'} ]}
Sys.Preview.UI.HyperLink.registerClass('Sys.Preview.UI.HyperLink',Sys.Preview.UI.Label);Sys.Preview.UI.Button =function(associatedElement){Sys.Preview.UI.Button.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Button.prototype ={_command:null,_arg:null,_clickHandler:null,get_argument:function(){return this._arg;},set_argument:function(value){if (this._arg !==value){this._arg =value;this.raisePropertyChanged('argument');}
},get_command:function(){return this._command;},set_command:function(value){if (this._command !==value){this._command =value;this.raisePropertyChanged('command');}
},initialize:function(){Sys.Preview.UI.Button.callBaseMethod(this,'initialize');this._clickHandler =Function.createDelegate(this,this._onClick);$addHandler(this.get_element(),"click",this._clickHandler);},dispose:function(){if (this._clickHandler){$removeHandler(this.get_element(),"click",this._clickHandler);}
Sys.Preview.UI.Button.callBaseMethod(this,'dispose');},add_click:function(handler){this.get_events().addHandler("click",handler);},remove_click:function(handler){this.get_events().removeHandler("click",handler);},_onClick:function(){var handler =this.get_events().getHandler("click");if (handler){handler(this,Sys.EventArgs.Empty);}
if (this._command){this.raiseBubbleEvent(this,new Sys.Preview.UI.CommandEventArgs(this._command,this._arg));}
}
}
Sys.Preview.UI.Button.descriptor ={properties:[{name:'command',type:String },{name:'argument',type:String } ],events:[{name:'click'} ]}
Sys.Preview.UI.Button.registerClass('Sys.Preview.UI.Button',Sys.UI.Control);Sys.Preview.UI.CheckBox =function(associatedElement){Sys.Preview.UI.CheckBox.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.CheckBox.prototype ={_clickHandler:null,get_checked:function(){return !!(this.get_element().checked);},set_checked:function(value){value =!!value;if (value !==this.get_checked()){this.get_element().checked =value;this.raisePropertyChanged('checked');}
},initialize:function(){Sys.Preview.UI.CheckBox.callBaseMethod(this,'initialize');this._clickHandler =Function.createDelegate(this,this._onClick);$addHandler(this.get_element(),"click",this._clickHandler);},dispose:function(){if (this._clickHandler){$removeHandler(this.get_element(),"click",this._clickHandler);}
Sys.Preview.UI.CheckBox.callBaseMethod(this,'dispose');},add_click:function(handler){this.get_events().addHandler("click",handler);},remove_click:function(handler){this.get_events().removeHandler("click",handler);},_onClick:function(){this.raisePropertyChanged('checked');var handler =this.get_events().getHandler("click");if (handler){handler(this,Sys.EventArgs.Empty);}
}
}
Sys.Preview.UI.CheckBox.descriptor ={properties:[{name:'checked'} ],events:[{name:'click'} ]}
Sys.Preview.UI.CheckBox.registerClass('Sys.Preview.UI.CheckBox',Sys.UI.Control);Sys.Preview.UI.TextBox =function(associatedElement){Sys.Preview.UI.TextBox.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.TextBox.prototype ={_text:null,_changeHandler:null,_keyPressHandler:null,get_text:function(){return this.get_element().value;},set_text:function(value){var element =this.get_element();if (element.value !==value){element.value =value;this.raisePropertyChanged('text');}
},dispose:function(){if (this._changeHandler){$removeHandler(this.get_element(),"onchange",this._changeHandler);this._changeHandler =null;}
if (this._keyPressHandler){$removeHandler(this.get_element(),"onkeypress",this._keyPressHandler);this._keyPressHandler =null;}
Sys.Preview.UI.TextBox.callBaseMethod(this,'dispose');},_onChange:function(){var value =this.get_element().value;if (value !==this._text){this._text =value;this.raisePropertyChanged('text');}
},_onKeyPress:function(e){var key =e.keyCode ?e.keyCode :e.rawEvent.keyCode;if (key ===Sys.UI.Key["return"]){var value =this.get_element().value;if (value !==this._text){this._text =value;this.raisePropertyChanged('text');}
}
},initialize:function(){Sys.Preview.UI.TextBox.callBaseMethod(this,'initialize');var element =this.get_element();this._text =element.value;this._changeHandler =Function.createDelegate(this,this._onChange);$addHandler(element,"change",this._changeHandler);this._keyPressHandler =Function.createDelegate(this,this._onKeyPress);$addHandler(element,"keypress",this._keyPressHandler);}
}
Sys.Preview.UI.TextBox.descriptor ={properties:[{name:'text',type:String } ],attributes:[{name:Sys.Preview.Attributes.ValueProperty,value:'text'} ]}
Sys.Preview.UI.TextBox.registerClass('Sys.Preview.UI.TextBox',Sys.Preview.UI.InputControl);Sys.Preview.UI.Button =function(associatedElement){Sys.Preview.UI.Button.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Button.prototype ={_command:null,_arg:null,_clickHandler:null,get_argument:function(){return this._arg;},set_argument:function(value){if (this._arg !==value){this._arg =value;this.raisePropertyChanged('argument');}
},get_command:function(){return this._command;},set_command:function(value){if (this._command !==value){this._command =value;this.raisePropertyChanged('command');}
},initialize:function(){Sys.Preview.UI.Button.callBaseMethod(this,'initialize');this._clickHandler =Function.createDelegate(this,this._onClick);$addHandler(this.get_element(),"click",this._clickHandler);},dispose:function(){if (this._clickHandler){$removeHandler(this.get_element(),"click",this._clickHandler);}
Sys.Preview.UI.Button.callBaseMethod(this,'dispose');},add_click:function(handler){this.get_events().addHandler("click",handler);},remove_click:function(handler){this.get_events().removeHandler("click",handler);},_onClick:function(){var handler =this.get_events().getHandler("click");if (handler){handler(this,Sys.EventArgs.Empty);}
if (this._command){this.raiseBubbleEvent(this,new Sys.Preview.UI.CommandEventArgs(this._command,this._arg));}
}
}
Sys.Preview.UI.Button.descriptor ={properties:[{name:'command',type:String },{name:'argument',type:String } ],events:[{name:'click'} ]}
Sys.Preview.UI.Button.registerClass('Sys.Preview.UI.Button',Sys.UI.Control);Sys.Preview.UI.Selector =function(associatedElement){Sys.Preview.UI.Selector.initializeBase(this,[associatedElement]);this._dataChangedDelegate =Function.createDelegate(this,this.dataBind);}
Sys.Preview.UI.Selector.prototype ={_selectionChangedHandler:null,_data:null,_textProperty:null,_valueProperty:null,_firstItemText:null,add_selectionChanged:function(handler){this.get_events().addHandler("selectionChanged",handler);},remove_selectionChanged:function(handler){this.get_events().removeHandler("selectionChanged",handler);},_onSelectionChanged:function(){this.raisePropertyChanged('selectedValue');var handler =this.get_events().getHandler("selectionChanged");if (handler){handler(this,Sys.EventArgs.Empty);}
},get_data:function(){return this._data;},set_data:function(value){if (this._data &&Sys.Preview.INotifyCollectionChanged.isImplementedBy(this._data)){this._data.remove_collectionChanged(this._dataChangedDelegate);}
this._data =value;if (this._data){if (!Sys.Preview.Data.DataTable.isInstanceOfType(this._data)){this._data =new Sys.Preview.Data.DataTable([],this._data);}
this._data.add_collectionChanged(this._dataChangedDelegate);}
this.dataBind();this.raisePropertyChanged('data');},get_firstItemText:function(){return this._firstItemText;},set_firstItemText:function(value){if (this._firstItemText !=value){this._firstItemText =value;this.raisePropertyChanged('firstItemText');this.dataBind();}
},get_selectedValue:function(){return this.get_element().value;},set_selectedValue:function(value){this.get_element().value =value;},get_textProperty:function(){return this._textProperty;},set_textProperty:function(value){this._textProperty =value;this.raisePropertyChanged('textProperty');},get_valueProperty:function(){return this._valueProperty;},set_valueProperty:function(value){this._valueProperty =value;this.raisePropertyChanged('valueProperty');},dataBind:function(){var options =this.get_element().options;var selectedValues =[];var i;for (i =options.length -1;i >=0;i--){if (options[i].selected){selectedValues.add(options[i].value);}
options[i]=null;}
var option;if (this._firstItemText &&(this._firstItemText.length !=0)){option =new Option(this._firstItemText,"");options[this.get_element().length]=option;}
if (this._data){var length =this._data.get_length();for (i =0;i <length;i++){var item =this._data.getItem(i);option =new Option(Sys.Preview.TypeDescriptor.getProperty(item,this._textProperty),Sys.Preview.TypeDescriptor.getProperty(item,this._valueProperty));option.selected =selectedValues.contains(option.value);options[this.get_element().length]=option;}
}
},dispose:function(){if (this._selectionChangedHandler){Sys.UI.DomEvent.removeHandler(this.get_element(),"change",this._selectionChangedHandler);this._selectionChangedHandler =null;}
Sys.Preview.UI.Selector.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.Selector.callBaseMethod(this,'initialize');this._selectionChangedHandler =Function.createDelegate(this,this._onSelectionChanged);Sys.UI.DomEvent.addHandler(this.get_element(),"change",this._selectionChangedHandler);}
}
Sys.Preview.UI.Selector.descriptor ={properties:[{name:'data',type:Sys.Preview.Data.DataTable },{name:'firstItemText',type:String },{name:'selectedValue',type:String },{name:'textProperty',type:String },{name:'valueProperty',type:String } ],events:[{name:'selectionChanged',readOnly:true } ]}
Sys.Preview.UI.Selector.registerClass('Sys.Preview.UI.Selector',Sys.UI.Control);Sys.Preview.UI.RequiredFieldValidator =function(){Sys.Preview.UI.RequiredFieldValidator.initializeBase(this);}
Sys.Preview.UI.RequiredFieldValidator.prototype ={validate:function(value){if (!value){return false;}
if (String.isInstanceOfType(value)){if (value.length ===0){return false;}
}
return true;}
}
Sys.Preview.UI.RequiredFieldValidator.registerClass('Sys.Preview.UI.RequiredFieldValidator',Sys.Preview.UI.Validator);Sys.Preview.UI.TypeValidator =function(){Sys.Preview.UI.TypeValidator.initializeBase(this);}
Sys.Preview.UI.TypeValidator.prototype ={_type:null,get_type:function(){return this._type;},set_type:function(value){this._type =value;},validate:function(value){var valid =true;if (value &&value.length){try {var number =this._type.parse(value);if (isNaN(number)){valid =false;}
}
catch (ex){valid =false;}
}
return valid;}
}
Sys.Preview.UI.TypeValidator.descriptor ={properties:[{name:'type',type:Function } ]}
Sys.Preview.UI.TypeValidator.registerClass('Sys.Preview.UI.TypeValidator',Sys.Preview.UI.Validator);Sys.Preview.UI.RangeValidator =function(){Sys.Preview.UI.RangeValidator.initializeBase(this);}
Sys.Preview.UI.RangeValidator.prototype ={_lowerBound:null,_upperBound:null,get_lowerBound:function(){return this._lowerBound;},set_lowerBound:function(value){this._lowerBound =value;},get_upperBound:function(){return this._upperBound;},set_upperBound:function(value){this._upperBound =value;},validate:function(value){if (value &&value.length){return ((value <=this._upperBound)&&(value >=this._lowerBound));}
return true;}
}
Sys.Preview.UI.RangeValidator.descriptor ={properties:[{name:'lowerBound',type:Number },{name:'upperBound',type:Number } ]}
Sys.Preview.UI.RangeValidator.registerClass('Sys.Preview.UI.RangeValidator',Sys.Preview.UI.Validator);Sys.Preview.UI.RegexValidator =function(){Sys.Preview.UI.RegexValidator.initializeBase(this);}
Sys.Preview.UI.RegexValidator.prototype ={_regex:null,get_regex:function(){return this._regex;},set_regex:function(value){if (typeof(value)==="string"){this._regex =new RegExp(value.replace(/^\/|\/$/g,""));}
else {this._regex =value;}
},validate:function(value){if (this._regex &&value &&value.length){var matches =this._regex.exec(value);return (matches &&(matches[0]===value));}
return true;}
}
Sys.Preview.UI.RegexValidator.descriptor ={properties:[{name:'regex',type:String} ]}
Sys.Preview.UI.RegexValidator.registerClass('Sys.Preview.UI.RegexValidator',Sys.Preview.UI.Validator);Sys.Preview.UI.CustomValidationEventArgs =function(value){Sys.Preview.UI.CustomValidationEventArgs.initializeBase(this);this._value =value;}
Sys.Preview.UI.CustomValidationEventArgs.prototype ={_isValid:true,get_value:function(){return this._value;},get_isValid:function(){return this._isValid;},set_isValid:function(value){this._isValid =value;}
}
Sys.Preview.UI.CustomValidationEventArgs.descriptor ={properties:[{name:'isValid',type:Boolean},{name:'value',type:Object,readOnly:true} ]}
Sys.Preview.UI.CustomValidationEventArgs.registerClass('Sys.Preview.UI.CustomValidationEventArgs',Sys.EventArgs);Sys.Preview.UI.CustomValidator =function(){Sys.Preview.UI.CustomValidator.initializeBase(this);}
Sys.Preview.UI.CustomValidator.prototype ={add_validateValue:function(handler){this.get_events().addHandler("validateValue",handler);},remove_validateValue:function(handler){this.get_events().removeHandler("validateValue",handler);},validate:function(value){if (value &&value.length){var cve =new Sys.Preview.UI.CustomValidationEventArgs(value);var handler =this.get_events().getHandler("validateValue");if (handler){handler(this,cve);}
return cve.get_isValid();}
return true;}
}
Sys.Preview.UI.CustomValidator.descriptor ={events:[{name:'validateValue'} ]}
Sys.Preview.UI.CustomValidator.registerClass('Sys.Preview.UI.CustomValidator',Sys.Preview.UI.Validator);Sys.Preview.UI.ValidationErrorLabel =function(associatedElement){Sys.Preview.UI.ValidationErrorLabel.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.ValidationErrorLabel.prototype ={_associatedControl:null,_validatedHandler:null,get_associatedControl:function(){return this._associatedControl;},set_associatedControl:function(value){if (this._associatedControl &&this._validatedHandler){this._associatedControl.remove_validated(this._validatedHandler);}
if (Sys.Preview.UI.IValidationTarget.isImplementedBy(value)){this._associatedControl =value;}
if (this._associatedControl){if (!this._validatedHandler){this._validatedHandler =Function.createDelegate(this,this._onControlValidated);}
this._associatedControl.add_validated(this._validatedHandler);}
},dispose:function(){if (this._associatedControl){if (this._validatedHandler){this._associatedControl.remove_validated(this._validatedHandler);this._validatedHandler =null;}
this._associatedControl =null;}
Sys.Preview.UI.ValidationErrorLabel.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.ValidationErrorLabel.callBaseMethod(this,'initialize');this.set_visible(false);},_onControlValidated:function(sender,eventArgs){var isInvalid =this._associatedControl.get_isInvalid();var tooltip ='';if (isInvalid){tooltip =this._associatedControl.get_validationMessage();}
this.set_visible(isInvalid);this.get_element().title =tooltip;}
}
Sys.Preview.UI.ValidationErrorLabel.descriptor ={properties:[{name:'associatedControl',type:Object } ]}
Sys.Preview.UI.ValidationErrorLabel.registerClass('Sys.Preview.UI.ValidationErrorLabel',Sys.Preview.UI.Label);Type.registerNamespace('Sys.Preview.UI.Controls');Sys.Preview.UI.Controls._UpdateProgress =function(element){Sys.Preview.UI.Controls._UpdateProgress.initializeBase(this,[element]);this._displayAfter =500;this._dynamicLayout =true;this._associatedUpdatePanelId =null;this._beginRequestHandlerDelegate =null;this._startDelegate =null;this._endRequestHandlerDelegate =null;this._pageRequestManager =null;this._timerCookie =null;}
Sys.Preview.UI.Controls._UpdateProgress.prototype ={get_displayAfter:function(){return this._displayAfter;},set_displayAfter:function(value){this._displayAfter =value;},get_dynamicLayout:function(){return this._dynamicLayout;},set_dynamicLayout:function(value){this._dynamicLayout =value;},get_associatedUpdatePanelId:function(){return this._associatedUpdatePanelId;},set_associatedUpdatePanelId:function(value){this._associatedUpdatePanelId =value;},_handleBeginRequest:function(sender,arg){var curElem =arg.get_postBackElement();var showProgress =!this._associatedUpdatePanelId;while (!showProgress &&curElem){if (curElem.id &&this._associatedUpdatePanelId ===curElem.id){showProgress =true;}
curElem =curElem.parentNode;} if (showProgress){this._timerCookie =window.setTimeout(this._startDelegate,this._displayAfter);}
},_startRequest:function(){if (this._pageRequestManager.get_isInAsyncPostBack()){if (this._dynamicLayout)this.get_element().style.display ='block';else this.get_element().style.visibility ='visible';}
this._timerCookie =null;},_handleEndRequest:function(sender,arg){if (this._dynamicLayout)this.get_element().style.display ='none';else this.get_element().style.visibility ='hidden';if (this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie =null;}
},dispose:function(){if (this._pageRequestManager !==null){this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);}
Sys.Preview.UI.Controls._UpdateProgress.callBaseMethod(this,"dispose");},initialize:function(){Sys.Preview.UI.Controls._UpdateProgress.callBaseMethod(this,'initialize');this._beginRequestHandlerDelegate =Function.createDelegate(this,this._handleBeginRequest);this._endRequestHandlerDelegate =Function.createDelegate(this,this._handleEndRequest);this._startDelegate =Function.createDelegate(this,this._startRequest);if (Sys.WebForms &&Sys.WebForms.PageRequestManager){this._pageRequestManager =Sys.WebForms.PageRequestManager.getInstance();}
if (this._pageRequestManager !==null ){this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);}
}
}
Sys.Preview.UI.Controls._UpdateProgress.registerClass('Sys.Preview.UI.Controls._UpdateProgress',Sys.UI.Control);Type.registerNamespace('Sys.Preview.Services.Components');Sys.Preview.Services.Components.Profile =function(){Sys.Preview.Services.Components.Profile.initializeBase(this);}
Sys.Preview.Services.Components.Profile.prototype ={_isDirty:null,_autoSave:null,get_autoSave:function(){return !!this._autoSave;},set_autoSave:function(value){this._autoSave =value;},get_isDirty:function(){return this._isDirty;},add_loadComplete:function(handler){this.get_events().addHandler('loadComplete',handler);},remove_loadComplete:function(handler){this.get_events().removeHandler('loadComplete',handler);},add_saveComplete:function(handler){this.get_events().addHandler('saveComplete',handler);},remove_saveComplete:function(handler){this.get_events().removeHandler('saveComplete',handler);},getProperty:function(name,key){var props =Sys.Services.ProfileService.properties;if(key){var group =props[name];return group ?(group[key]||null):null;}
return props[name]||null;},setProperty:function(name,value,key){var props =Sys.Services.ProfileService.properties;var wasDirty=null;if(key){var group =props[name];if(group){group[key]=value;wasDirty =this._isDirty;this._isDirty =true;this.raisePropertyChanged(name +'.'+key);}
}
else {props[name]=value;wasDirty =this._isDirty;this._isDirty =true;this.raisePropertyChanged(name);}
if (wasDirty ===false){this.raisePropertyChanged('isDirty');}
if (this._autoSave &&this._isDirty){this.save();}
},invokeMethod:function(methodName,parameters){if(methodName ==="save"){this.save();}
else if(methodName ==="load"){this.load();}
},load:function(){if(!this.loadCallback)this.loadCallback =Function.createDelegate(this,this._loadComplete);Sys.Services.ProfileService.load(null,this.loadCallback);},save:function(){if(!this.saveCallback)this.saveCallback =Function.createDelegate(this,this._saveComplete);Sys.Services.ProfileService.save(null,this.saveCallback);},initialize:function(){Sys.Preview.Services.Components.Profile.callBaseMethod(this,'initialize');var empty =true;for(var v in Sys.Services.ProfileService.properties){empty =false;break;}
if (empty){this.load();}
},_loadComplete:function(){this._isDirty =false;var handler =this.get_events().getHandler('loadComplete');if(handler){handler(this,Sys.EventArgs.Empty);}
},_saveComplete:function(){this._isDirty =false;this.raisePropertyChanged('isDirty');var handler =this.get_events().getHandler('saveComplete');if(handler){handler(this,Sys.EventArgs.Empty);}
},_saveIfDirty:function(){if (this._isDirty){this.save();}
} }
Sys.Preview.Services.Components.Profile.descriptor ={properties:[{name:'autoSave',type:Boolean},{name:'isDirty',type:Boolean,readOnly:true} ],methods:[{name:'load'},{name:'save'} ],events:[{name:'loadComplete'},{name:'saveComplete'} ]}
Sys.Preview.Services.Components.Profile.registerClass('Sys.Preview.Services.Components.Profile',Sys.Component,Sys.Preview.ICustomTypeDescriptor);Sys.Preview.Services.Components.Profile.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){if (!markupContext.get_isGlobal()){return null;}
var id=null;var idAttribute =node.attributes.getNamedItem('id');if (idAttribute){id =idAttribute.nodeValue;node.attributes.removeNamedItem('id')}
Sys.Preview.MarkupParser.initializeObject(Sys.Preview.Services.Components.Profile.instance,node,markupContext,prefixNamespaceMapping);if (id &&id.length){markupContext._addComponentByID(id,Sys.Preview.Services.Components.Profile.instance,true);node.attributes.setNamedItem(idAttribute);}
return Sys.Preview.Services.Components.Profile.instance;}
Sys.Preview.Services.Components.Profile.instance =new Sys.Preview.Services.Components.Profile();Type.registerNamespace('Sys.Preview.UI.Data');Sys.Preview.UI.Data.DataControl =function(associatedElement){Sys.Preview.UI.Data.DataControl.initializeBase(this,[associatedElement]);this._dataIndex =0;}
Sys.Preview.UI.Data.DataControl.prototype ={_data:null,_suspendChangeNotifications:false,_dataChangedDelegate:null,prepareChange:function(){return {dataIndex:this.get_dataIndex(),canMoveNext:this.get_canMoveNext(),canMovePrevious:this.get_canMovePrevious()};},triggerChangeEvents:function(oldState){var dataIndex =this.get_dataIndex();if (oldState.dataIndex !==dataIndex){this.raisePropertyChanged('dataIndex');this.raisePropertyChanged('dataItem');oldState.dataIndex =dataIndex;}
var canMoveNext =this.get_canMoveNext();if (oldState.canMoveNext !==canMoveNext){this.raisePropertyChanged('canMoveNext');oldState.canMoveNext =canMoveNext;}
var canMovePrevious =this.get_canMovePrevious();if (oldState.canMovePrevious !==canMovePrevious){this.raisePropertyChanged('canMovePrevious');oldState.canMovePrevious =canMovePrevious;}
},get_canMoveNext:function(){if (!this._data)return false;return (this._dataIndex <this.get_length()-1);},get_canMovePrevious:function(){if (!this._data)return false;return (this._dataIndex >0);},get_data:function(){return this._data;},set_data:function(value){var oldState =this.prepareChange();if (this._data &&Sys.Preview.INotifyCollectionChanged.isImplementedBy(this._data)){this._data.remove_collectionChanged(this._dataChangedDelegate);this._dataChangedDelegate =null;}
this._data =value;if (this._data &&Sys.Preview.INotifyCollectionChanged.isImplementedBy(this._data)){this._dataChangedDelegate =Function.createDelegate(this,this.onDataChanged);this._data.add_collectionChanged(this._dataChangedDelegate);}
if (this._dataIndex >=this.get_length()){this.set_dataIndex(0);}
if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('data');this.triggerChangeEvents(oldState);},get_dataContext:function(){return this.get_dataItem();},get_dataIndex:function(){return this._dataIndex;},set_dataIndex:function(value){if (this._dataIndex !==value){var oldState =this.prepareChange();this._dataIndex =value;if (!this._suspendChangeNotifications){this.triggerChangeEvents(oldState);}
}
},get_dataItem:function(){if (this._data){return this._data.getItem(this._dataIndex);}
return null;},get_length:function(){if(!this._data)return 0;return this._data.get_length ?this._data.get_length():((this._data.length &&typeof(this._data.length)!=='undefined')?this._data.length :0);},addItem:function(){if (this._data){var oldState =this.prepareChange();this._data.add({});this.set_dataIndex(this.get_length()-1);this.triggerChangeEvents(oldState);}
},deleteCurrentItem:function(){if (this._data){var oldState =this.prepareChange();this._suspendChangeNotifications =true;var item =this.get_dataItem();if (this.get_dataIndex()===this.get_length()-1){this.set_dataIndex(Math.max(0,this.get_length()-2));}
this._data.remove(item);this._suspendChangeNotifications =false;this.triggerChangeEvents(oldState);}
},getItem:function(index){if (this._data){return this._data.getItem(index);}
return null;},moveNext:function(){if (this._data){var oldState =this.prepareChange();var newIndex =this.get_dataIndex()+1;if (newIndex <this.get_length()){this.set_dataIndex(newIndex);}
this.triggerChangeEvents(oldState);}
},movePrevious:function(){if (this._data){var oldState =this.prepareChange();var newIndex =this.get_dataIndex()-1;if (newIndex >=0){this.set_dataIndex(newIndex);}
this.triggerChangeEvents(oldState);}
},onBubbleEvent:function(source,args){if (args.get_commandName()==="select"){var arg =args.get_argument();if (!arg &&arg !==0){var dataContext =source.get_dataContext();if (dataContext){arg =dataContext.get_index();}
}
if (arg &&String.isInstanceOfType(arg)){arg =Number.parse(arg);}
if (arg ||arg ===0){this.set_dataIndex(arg);return true;}
}
return false;},onDataChanged:function(sender,args){this.render();}
}
Sys.Preview.UI.Data.DataControl.descriptor ={properties:[{name:'canMoveNext',type:Boolean,readOnly:true },{name:'canMovePrevious',type:Boolean,readOnly:true },{name:'data',type:Sys.Preview.Data.DataTable },{name:'dataIndex',type:Number },{name:'dataItem',type:Object,readOnly:true },{name:'length',type:Number,readOnly:true } ],methods:[{name:'addItem'},{name:'deleteCurrentItem'},{name:'moveNext'},{name:'movePrevious'} ]}
Sys.Preview.UI.Data.DataControl.registerClass('Sys.Preview.UI.Data.DataControl',Sys.UI.Control);Sys.Preview.UI.Data.DataNavigator =function(associatedElement){Sys.Preview.UI.Data.DataNavigator.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Data.DataNavigator.prototype ={_data:null,get_dataView:function(){return this._data;},set_dataView:function(value){this._data =value;this.raisePropertyChanged('dataView');},get_dataContext:function(){return this.get_dataView();},onBubbleEvent:function(source,args){if (!this._data)return false;var cmd =args.get_commandName().toLowerCase();switch(cmd){case "page":var arg =args.get_argument();if (arg &&String.isInstanceOfType(arg)){arg =Number.parse(arg);}
if (arg ||arg ===0){this._data.set_pageIndex(arg);return true;}
break;case "nextpage":this._data.set_pageIndex(this._data.get_pageIndex()+1);return true;case "previouspage":var idx =this._data.get_pageIndex()-1;if (idx >=0){this._data.set_pageIndex(idx);}
return true;case "firstpage":this._data.set_pageIndex(0);return true;case "lastpage":this._data.set_pageIndex(this._data.get_pageCount()-1);return true;}
return false;}
}
Sys.Preview.UI.Data.DataNavigator.descriptor ={properties:[{name:'dataView',type:Object } ]}
Sys.Preview.UI.Data.DataNavigator.registerClass('Sys.Preview.UI.Data.DataNavigator',Sys.UI.Control);Sys.Preview.UI.Data.ItemView =function(associatedElement){Sys.Preview.UI.Data.ItemView.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Data.ItemView.prototype ={_itemTemplate:null,_emptyTemplate:null,_keyDownHandler:null,_layoutTemplateElement:null,set_dataIndex:function(value){if (this.get_dataIndex()!==value){Sys.Preview.UI.Data.ItemView.callBaseMethod(this,'set_dataIndex',[value]);if (!this.get_isUpdating()){this.render();}
}
},get_emptyTemplate:function(){return this._emptyTemplate;},set_emptyTemplate:function(value){if (this._emptyTemplate){this._emptyTemplate.dispose();}
this._emptyTemplate =value;if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('emptyTemplate');},get_itemTemplate:function(){return this._itemTemplate;},set_itemTemplate:function(value){if (this._itemTemplate){this._itemTemplate.dispose();}
this._itemTemplate =value;if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('itemTemplate');},dispose:function(){var element =this.get_element();if (element){if (this._keyDownHandler){Sys.UI.DomEvent.removeHandler(element,"keydown",this._keyDownHandler);}
if (element.childNodes.length){element.markupContext =null;Sys.Preview.UI.ITemplate.disposeInstance(element.firstChild);}
}
if (this._itemTemplate){this._itemTemplate.dispose();this._itemTemplate =null;}
if (this._emptyTemplate){this._emptyTemplate.dispose();this._emptyTemplate =null;}
this._layoutTemplateElement =null;Sys.Preview.UI.Data.ItemView.callBaseMethod(this,'dispose');},initialize:function(){this._keyDownHandler =Function.createDelegate(this,this._onKeyDown);Sys.Preview.UI.Data.ItemView.callBaseMethod(this,'initialize');Sys.UI.DomEvent.addHandler(this.get_element(),"keydown",this._keyDownHandler);if (this._itemTemplate){this._itemTemplate.initialize();}
if (this._emptyTemplate){this._emptyTemplate.initialize();}
this.render();},_onKeyDown:function(ev){if (ev.target ===this.get_element()){var k =ev.keyCode ?ev.keyCode :ev.rawEvent.keyCode;if ((k ===Sys.UI.Key.up)||(k ===Sys.UI.Key.left)){this.movePrevious();ev.preventDefault();}
else if ((k ===Sys.UI.Key.down)||(k ===Sys.UI.Key.right)){this.moveNext();ev.preventDefault();}
}
},render:function(){var element =this.get_element();if (element.childNodes.length){if (this._layoutTemplateElement){Sys.Preview.UI.ITemplate.disposeInstance(this._layoutTemplateElement);}
}
element.innerHTML ='';var template;var data =this.get_data();if (data &&data.get_length()){template =this._itemTemplate;}
else {template =this._emptyTemplate;}
if (template){var instance =template.createInstance(element,this.get_dataContext()).instanceElement;element.markupContext =instance.markupContext;this._layoutTemplateElement =instance;}
},findObject:function(id){var object;var element =this.get_element();if (element.markupContext){object =element.markupContext.findComponent(id);}
if (!object){var parent =this.get_parent();if (parent){object =parent.findObject(id);}
else {object =Sys.Application.findComponent(id);}
}
return object;}
}
Sys.Preview.UI.Data.ItemView.descriptor ={properties:[{name:'itemTemplate',type:Sys.Preview.UI.ITemplate },{name:'emptyTemplate',type:Sys.Preview.UI.ITemplate } ]}
Sys.Preview.UI.Data.ItemView.registerClass('Sys.Preview.UI.Data.ItemView',Sys.Preview.UI.Data.DataControl,Sys.IContainer);Sys.Preview.UI.Data.ListViewRenderTask =function(listView,data,itemTemplate,itemTemplateParent,separatorTemplate,itemElements,separatorElements,itemClass,alternatingItemClass,separatorClass,itemFocusHandler,itemClickHandler){this._listView =listView;this._data =data;this._itemTemplate =itemTemplate;this._itemTemplateParent =itemTemplateParent;this._separatorTemplate =separatorTemplate;this._itemElements =itemElements;this._separatorElements =separatorElements;this._itemClass =itemClass;this._alternatingItemClass =alternatingItemClass;this._separatorClass =separatorClass;this._itemFocusHandler =itemFocusHandler;this._itemClickHandler =itemClickHandler;this._currentIndex =0;}
Sys.Preview.UI.Data.ListViewRenderTask.prototype ={dispose:function(){this._listView =null;this._data =null;this._itemTemplate =null;this._itemTemplateParent =null;this._separatorTemplate =null;this._itemElements =null;this._separatorElements =null;this._itemClass =null;this._alternatingItemClass =null;this._separatorClass =null;this._itemFocusHandler =null;this._itemClickHandler =null;},execute:function(){var isArray =Array.isInstanceOfType(this._data);var itemLength =isArray?this._data.length :(this._data ?(this._data.get_length ?this._data.get_length():0):0);var lengthm1 =itemLength -1;var lastElementToRender =Math.min(itemLength,this._currentIndex +5);for (;this._currentIndex <lastElementToRender;this._currentIndex++){var item =isArray?this._data[this._currentIndex]:this._data.getItem(this._currentIndex);if (this._itemTemplate){var element =this._itemTemplate.createInstance(this._itemTemplateParent,item).instanceElement;if (this._itemClass){if ((this._currentIndex %2 ===1)&&(this._alternatingItemClass)){element.className =this._alternatingItemClass;}
else {element.className =this._itemClass;}
}
this._itemElements[this._currentIndex]=element;element.tabIndex =-1;element.dataIndex =this._currentIndex;$addHandler(element,"focus",this._itemFocusHandler);$addHandler(element,"click",this._itemClickHandler);}
if (this._separatorTemplate &&(this._currentIndex !==lengthm1)&&this._itemTemplateParent){var sep =this._separatorTemplate.createInstance(this._itemTemplateParent).instanceElement;if (this._separatorClass){sep.className =this._separatorClass;}
this._separatorElements[this._currentIndex]=sep;}
}
if (this._currentIndex ===itemLength){this._listView._renderTaskComplete(this);return true;}
else {return false;}
}
}
Sys.Preview.UI.Data.ListViewRenderTask.registerClass('Sys.Preview.UI.Data.ListViewRenderTask',null,Sys.Preview.ITask,Sys.IDisposable);Sys.Preview.UI.Data.ListView =function(associatedElement){Sys.Preview.UI.Data.ListView.initializeBase(this,[associatedElement]);this._itemElements =[];this._separatorElements =[];}
Sys.Preview.UI.Data.ListView.prototype ={_itemClass:null,_alternatingItemClass:null,_separatorClass:null,_selectedItemClass:null,_focusHandler:null,_keyDownHandler:null,_itemFocusHandler:null,_itemClickHandler:null,_focusIndex:null,_layoutTemplate:null,_itemTemplate:null,_separatorTemplate:null,_emptyTemplate:null,_itemTemplateParentElementId:null,_layoutTemplateElement:null,_pendingTasks:0,get_alternatingItemCssClass:function(){return this._alternatingItemClass;},set_alternatingItemCssClass:function(value){if (value !==this._alternatingItemClass){this._alternatingItemClass =value;this.render();this.raisePropertyChanged('alternatingItemCssClass');}
},set_dataIndex:function(value){var oldIndex =this.get_dataIndex();if (oldIndex !==value){var sel =this.getItemElement(oldIndex);if (sel &&this._selectedItemClass){Sys.UI.Control.removeCssClass(sel,this._selectedItemClass);}
Sys.Preview.UI.Data.ListView.callBaseMethod(this,'set_dataIndex',[value]);sel =this.getItemElement(value);if (sel &&this._selectedItemClass){Sys.UI.Control.addCssClass(sel,this._selectedItemClass);}
}
},get_emptyTemplate:function(){return this._emptyTemplate;},set_emptyTemplate:function(value){if (this._emptyTemplate){this._emptyTemplate.dispose();}
this._emptyTemplate =value;if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('emptyTemplate');},get_itemCssClass:function(){return this._itemClass;},set_itemCssClass:function(value){if (value !==this._itemClass){this._itemClass =value;this.render();this.raisePropertyChanged('itemCssClass');}
},get_itemTemplate:function(){return this._itemTemplate;},set_itemTemplate:function(value){if (this._itemTemplate){this._itemTemplate.dispose();}
this._itemTemplate =value;if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('itemTemplate');},get_itemTemplateParentElementId:function(){return this._itemTemplateParentElementId;},set_itemTemplateParentElementId:function(value){this._itemTemplateParentElementId =value;this.raisePropertyChanged('itemTemplateParentElementId');},get_layoutTemplate:function(){return this._layoutTemplate;},set_layoutTemplate:function(value){if (this._layoutTemplate){this._layoutTemplate.dispose();}
this._layoutTemplate =value;if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('layoutTemplate');},get_selectedItemCssClass:function(){return this._selectedItemClass;},set_selectedItemCssClass:function(value){if (value !==this._selectedItemClass){this._selectedItemClass =value;this.render();this.raisePropertyChanged('selectedItemCssClass');}
},get_separatorCssClass:function(){return this._separatorClass;},set_separatorCssClass:function(value){if (value !==this._separatorClass){this._separatorClass =value;this.render();this.raisePropertyChanged('separatorCssClass');}
},get_separatorTemplate:function(){return this._separatorTemplate;},set_separatorTemplate:function(value){if (this._separatorTemplate){this._separatorTemplate.dispose();}
this._separatorTemplate =value;if (!this.get_isUpdating()){this.render();}
this.raisePropertyChanged('separatorTemplate');},getItemElement:function(index){return this._itemElements[index];},add_renderComplete:function(handler){this.get_events().addHandler("renderComplete",handler);},remove_renderComplete:function(handler){this.get_events().removeHandler("renderComplete",handler);},initialize:function(){var element =this.get_element();this._focusHandler =Function.createDelegate(this,this._onGotFocus);this._keyDownHandler =Function.createDelegate(this,this._onKeyDown);this._itemFocusHandler =Function.createDelegate(this,this._onItemFocus);this._itemClickHandler =Function.createDelegate(this,this._onItemClick);Sys.Preview.UI.Data.ListView.callBaseMethod(this,'initialize');$addHandler(element,"keydown",this._keyDownHandler);$addHandler(element,"focus",this._focusHandler);if (this._itemTemplate){this._itemTemplate.initialize();}
if (this._separatorTemplate){this._separatorTemplate.initialize();}
if (this._emptyTemplate){this._emptyTemplate.initialize();}
if (this._layoutTemplate){this._layoutTemplate.initialize();}
if (!element.tabIndex){element.tabIndex =0;}
this.render();},dispose:function(){if(this._disposed)return;var element =this.get_element();if (element){if (this._focusHandler){$removeHandler(element,"focus",this._focusHandler);}
if (this._keyDownHandler){$removeHandler(element,"keydown",this._keyDownHandler);}
}
if (this._itemElements){for (var i =this._itemElements.length -1;i >=0;i--){if (this._itemFocusHandler){$removeHandler(this._itemElements[i],"focus",this._itemFocusHandler);}
if (this._itemClickHandler){$removeHandler(this._itemElements[i],"click",this._itemClickHandler);}
}
}
if (this._layoutTemplate){this._layoutTemplate.dispose();this._layoutTemplate =null;}
if (this._itemTemplate){this._itemTemplate.dispose();this._itemTemplate =null;}
if (this._separatorTemplate){this._separatorTemplate.dispose();this._separatorTemplate =null;}
if (this._emptyTemplate){this._emptyTemplate.dispose();this._emptyTemplate =null;}
this._itemElements =null;this._separatorElements =null;this._layoutTemplateElement =null;this._disposed =true;Sys.Preview.UI.Data.ListView.callBaseMethod(this,'dispose');},_onGotFocus:function(ev){if (ev.target ===this.get_element()){this.setFocus(this,this.getItemElement(this.get_dataIndex()));}
},_onKeyDown:function(ev){if (ev.target ===this.getItemElement(this._focusIndex)){var k =ev.keyCode ?ev.keyCode :ev.rawEvent.keyCode;if ((k ===Sys.UI.Key.up)||(k ===Sys.UI.Key.left)){if (this._focusIndex >0){this.setFocus(this,this.getItemElement(this._focusIndex -1));ev.preventDefault();}
}
else if ((k ===Sys.UI.Key.down)||(k ===Sys.UI.Key.right)){if (this._focusIndex <(this.get_length()-1)){this.setFocus(this,this.getItemElement(this._focusIndex +1));ev.preventDefault();}
}
else if ((k ===Sys.UI.Key["return"])||(k ===Sys.UI.Key.space)){if (this._focusIndex !==-1){this.set_dataIndex(this._focusIndex);ev.preventDefaut();}
}
}
},_onItemFocus:function(ev){if (typeof(ev.target.dataIndex)!=="undefined"){this._focusIndex =ev.target.dataIndex;}
},_onItemClick:function(ev){var s =ev.target;var srcTag =s.tagName.toUpperCase();while (s &&(typeof(s.dataIndex)==='undefined')){s =s.parentNode;}
if (s){var idx =s.dataIndex;sel =this.getItemElement(idx);if (sel){this.set_dataIndex(idx);if ((srcTag !=="INPUT")&&(srcTag !=="TEXTAREA")&&(srcTag !=="SELECT")&&(srcTag !=="BUTTON")&&(srcTag !=="A")){this.setFocus(this,sel);}
}
}
},render:function(){var associatedElement =this.get_element();var i,element;for (i =this._itemElements.length -1;i >=0;i--){element =this._itemElements[i];if (element){Sys.Preview.UI.ITemplate.disposeInstance(element);}
}
this._itemElements =[];for (i =this._separatorElements.length -1;i >=0;i--){element =this._separatorElements[i];if (element){Sys.Preview.UI.ITemplate.disposeInstance(element);}
}
this._separatorElements =[];if (associatedElement.childNodes.length){if (this._layoutTemplateElement){Sys.Preview.UI.ITemplate.disposeInstance(this._layoutTemplateElement);}
}
associatedElement.innerHTML ='';var tasksPending =false;var items =this.get_data();var itemLength =items ?(items.get_length ?items.get_length():items.length):(0);if (itemLength &&itemLength >0){var template =this.get_layoutTemplate();if (template){var itemTemplate =this.get_itemTemplate();var separatorTemplate =this.get_separatorTemplate();var layoutTemplateInstance =template.createInstance(associatedElement,null,this.findItemTemplateParentCallback,this._itemTemplateParentElementId);var itemTemplateParent =layoutTemplateInstance.callbackResult;this._layoutTemplateElement =layoutTemplateInstance.instanceElement;tasksPending =true;this._pendingTasks++;var renderTask =new Sys.Preview.UI.Data.ListViewRenderTask(this,items,itemTemplate,itemTemplateParent,separatorTemplate,this._itemElements,this._separatorElements,this._itemClass,this._alternatingItemClass,this._separatorClass,this._itemFocusHandler,this._itemClickHandler);Sys.Preview.TaskManager.addTask(renderTask);}
}
else {var emptyTemplate =this.get_emptyTemplate();if (emptyTemplate){emptyTemplate.createInstance(associatedElement);}
var handler =this.get_events().getHandler('renderComplete');if(handler)handler(this,Sys.EventArgs.Empty);}
},_renderTaskComplete:function(renderTask){this._pendingTasks--;if(this._pendingTasks <=0){this._pendingTasks =0;var handler =this.get_events().getHandler('renderComplete');if(handler)handler(this,Sys.EventArgs.Empty);} },findItemTemplateParentCallback:function(instanceElement,markupContext,id){return markupContext.findElement(id);},setFocus:function(owner,element){if (element.focus){for(var i =owner.get_length()-1;i >=0;i--){var sel =owner.getItemElement(i);if (sel){sel.tabIndex =-1;}
}
var ownerElement =owner.get_element();var t =ownerElement.tabIndex;if (t ===-1){t =ownerElement.__tabIndex;}
element.tabIndex =t;setTimeout(Function.createCallback(this.focus,element),0);ownerElement.__tabIndex =t;ownerElement.tabIndex =-1;}
},focus:function(element){try {element.focus();}
catch(e){}
}
}
Sys.Preview.UI.Data.ListView.descriptor ={properties:[{name:'alternatingItemCssClass',type:String },{name:'layoutTemplate',type:Sys.Preview.UI.ITemplate },{name:'itemCssClass',type:String },{name:'itemTemplate',type:Sys.Preview.UI.ITemplate },{name:'itemTemplateParentElementId',type:String },{name:'selectedItemCssClass',type:String },{name:'separatorCssClass',type:String },{name:'separatorTemplate',type:Sys.Preview.UI.ITemplate },{name:'emptyTemplate',type:Sys.Preview.UI.ITemplate } ],events:[{name:'renderComplete'} ]}
Sys.Preview.UI.Data.ListView.registerClass('Sys.Preview.UI.Data.ListView',Sys.Preview.UI.Data.DataControl);Sys.Preview.UI.Data.SortBehavior =function(element){Sys.Preview.UI.Data.SortBehavior.initializeBase(this,[element]);}
Sys.Preview.UI.Data.SortBehavior.prototype ={_clickHandler:null,_sortChangedDelegate:null,_sortColumn:'',_sortAscendingCssClass:'sortAscending',_sortDescendingCssClass:'sortDescending',_dataView:null,get_sortAscendingCssClass:function(){return this._sortAscendingCssClass;},set_sortAscendingCssClass:function(value){this._sortAscendingCssClass =value;},get_sortColumn:function(){return this._sortColumn;},set_sortColumn:function(value){if (value !==this._sortColumn){this._sortColumn =value;this.raisePropertyChanged('sortColumn');}
},get_sortDescendingCssClass:function(){return this._sortDescendingCssClass;},set_sortDescendingCssClass:function(value){this._sortDescendingCssClass =value;},get_dataView:function(){return this._dataView;},set_dataView:function(value){if (this._dataView &&this._sortChangedDelegate){this._dataView.remove_propertyChanged(this._sortChangedDelegate);}
this._dataView =value;if (this.get_isInitialized()){this._dataView.add_propertyChanged(this._sortChangedDelegate);this.update();}
},dispose:function(){if (this._dataView &&!this._dataView._disposed &&this._sortChangedDelegate){this._dataView.remove_propertyChanged(this._sortChangedDelegate);this._sortChangedDelegate =null;}
this._dataView =null;if (this._clickHandler){Sys.UI.DomEvent.removeHandler(this.get_element(),"click",this._clickHandler);this._clickHandler =null;}
Sys.Preview.UI.Data.SortBehavior.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.Data.SortBehavior.callBaseMethod(this,'initialize');this._clickHandler =Function.createDelegate(this,this.clickHandler);Sys.UI.DomEvent.addHandler(this.get_element(),"click",this._clickHandler);this._sortChangedDelegate =Function.createDelegate(this,this.sortChanged);if (this._dataView){this._dataView.add_propertyChanged(this._sortChangedDelegate);this.update();}
},clickHandler:function(){var view =this.get_dataView();if (view){if (view.get_sortColumn()===this._sortColumn){view.set_sortDirection((view.get_sortDirection()===Sys.Preview.Data.SortDirection.Ascending)?Sys.Preview.Data.SortDirection.Descending :Sys.Preview.Data.SortDirection.Ascending);}
else {view.sort(this._sortColumn,Sys.Preview.Data.SortDirection.Ascending);}
}
},update:function(){var element =this.get_element();if (this._dataView &&(this._dataView.get_sortColumn()===this._sortColumn)){if (this._dataView.get_sortDirection()===Sys.Preview.Data.SortDirection.Ascending){Sys.UI.DomElement.removeCssClass(element,this._sortDescendingCssClass);Sys.UI.DomElement.addCssClass(element,this._sortAscendingCssClass);}
else {Sys.UI.DomElement.removeCssClass(element,this._sortAscendingCssClass);Sys.UI.DomElement.addCssClass(element,this._sortDescendingCssClass);}
}
else {Sys.UI.DomElement.removeCssClass(element,this._sortAscendingCssClass);Sys.UI.DomElement.removeCssClass(element,this._sortDescendingCssClass);}
},sortChanged:function(sender,args){var pName =args.get_propertyName();if ((pName ==='sortColumn')||(pName ==='sortDirection')){this.update();}
}
}
Sys.Preview.UI.Data.SortBehavior.descriptor ={properties:[{name:'dataView',type:Object },{name:'sortAscendingCssClass',type:String },{name:'sortColumn',type:String },{name:'sortDescendingCssClass',type:String } ]}
Sys.Preview.UI.Data.SortBehavior.registerClass('Sys.Preview.UI.Data.SortBehavior',Sys.UI.Behavior);Sys.Preview.UI.Data.XSLTView =function(associatedElement){Sys.Preview.UI.Data.XSLTView.initializeBase(this,[associatedElement]);}
Sys.Preview.UI.Data.XSLTView.prototype ={_document:null,_transform:null,_parameters:null,get_document:function(){return this._document;},set_document:function(document){this._document =document;if (this.get_isInitialized()){this._render();}
},get_parameters:function(){if (!this._parameters){this._parameters ={};}
return this._parameters;},get_transform:function(){return this._transform;},set_transform:function(transform){this._transform =transform;if (this.get_isInitialized()){this._render();}
},dispose:function(){this._document =null;this._transform =null;Sys.Preview.UI.Data.XSLTView.callBaseMethod(this,'dispose');},initialize:function(){Sys.Preview.UI.Data.XSLTView.callBaseMethod(this,'initialize');this._render();},update:function(){this._render();},_render:function(){var html ='';if (this._document &&this._transform){if (this._parameters){if (Sys.Browser.agent ===Sys.Browser.InternetExplorer){this._transform.setProperty('SelectionNamespaces','xmlns:xsl="http://www.w3.org/1999/XSL/Transform"');}
for (var paramName in this._parameters){var paramNode =this._transform.selectSingleNode('//xsl:param[@name="'+paramName +'"]');if (paramNode){paramNode.text =this._parameters[paramName].toString();paramNode.removeAttribute('select');}
}
}
html =this._document.transformNode(this._transform);}
this.get_element().innerHTML =html;} }
Sys.Preview.UI.Data.XSLTView.descriptor ={properties:[{name:'document',type:Object },{name:'parameters',type:Object,readOnly:true },{name:'transform',type:Object } ],methods:[{name:'update'} ]}
Sys.Preview.UI.Data.XSLTView.registerClass('Sys.Preview.UI.Data.XSLTView',Sys.UI.Control);if(!debug.trace){debug.trace =function(message){}
}
Sys.Component.descriptor ={properties:[{name:'dataContext',type:Object},{name:'id',type:String},{name:'isInitialized',type:Boolean,readOnly:true},{name:'isUpdating',type:Boolean,readOnly:true} ],events:[{name:'propertyChanged'} ]}
Sys.UI.Control.descriptor ={properties:[{name:'element',type:Object,readOnly:true},{name:'role',type:String,readOnly:true},{name:'parent',type:Object},{name:'visible',type:Boolean},{name:'visibilityMode',type:Sys.UI.VisibilityMode} ]}
Sys.UI.Behavior.descriptor ={properties:[{name:'name',type:String} ]}
Sys.Component.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){var newComponent =Type.createInstance(type);var dataContextHidden =false;var dataContext =markupContext.get_dataContext();if (dataContext){dataContextHidden =markupContext.hideDataContext();}
var component =Sys.Preview.MarkupParser.initializeObject(newComponent,node,markupContext,prefixNamespaceMapping);if (component){markupContext.addComponent(component);if (dataContext){component.set_dataContext(dataContext);}
}
else {newComponent.dispose();}
if (dataContextHidden){markupContext.restoreDataContext();}
return component;}
Sys.Component.createCollection =function(component){var collection =[];collection._component =component;var _events =null;collection.get_events =function(){if (!_events){_events =new Sys.EventHandlerList();}
return _events;}
collection.add_collectionChanged =function(handler){this.get_events().addHandler("collectionChanged",handler);}
collection.remove_collectionChanged =function(handler){this.get_events().removeHandler("collectionChanged",handler);}
collection._onCollectionChanged =function(args){var handler =this.get_events().getHandler("collectionChanged");if (handler){handler(this,args);}
}
collection._add =collection.add;collection.add =function(item){this._add(item);if(item.setOwner){item.setOwner(this._component);}
this._onCollectionChanged(new Sys.Preview.CollectionChangedEventArgs(Sys.Preview.NotifyCollectionChangedAction.Add,item));}
collection._clear =collection.clear;collection.clear =function(){for (var i =this.length -1;i >=0;i--){this[i].dispose();this[i]=null;}
this._clear();this._onCollectionChanged(new Sys.Preview.CollectionChangedEventArgs(Sys.Preview.NotifyCollectionChangedAction.Reset,null));}
collection.dispose =function(){this.clear();delete this._events;this._component =null;this._disposed =true;}
collection._remove =collection.remove;collection.remove =function(item){item.dispose();this._remove(item);this._onCollectionChanged(new Sys.Preview.CollectionChangedEventArgs(Sys.Preview.NotifyCollectionChangedAction.Remove,item));}
collection._removeAt =collection.removeAt;collection.removeAt =function(index){var item =this[index];item.dispose();this._removeAt(index);this._onCollectionChanged(new Sys.Preview.CollectionChangedEventArgs(Sys.Preview.NotifyCollectionChangedAction.Remove,item));}
return collection;}
Sys.UI.Control.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){var idAttribute =node.attributes.getNamedItem('id');var id =idAttribute.nodeValue;var associatedElement =markupContext.findElement(id);var dataContextHidden =false;var dataContext =markupContext.get_dataContext();if (dataContext){dataContextHidden =markupContext.hideDataContext();}
var newControl =new type(associatedElement);var control =Sys.Preview.MarkupParser.initializeObject(newControl,node,markupContext,prefixNamespaceMapping);if (control){markupContext.addComponent(control);if (dataContext){control.set_dataContext(dataContext);}
}
else {newControl.dispose();}
if (dataContextHidden){markupContext.restoreDataContext();}
return control;}
Sys.UI.Behavior.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){var associatedElement;var id;var elementAttribute =node.attributes.getNamedItem('elementID');if(!elementAttribute){var parentNode =node.parentNode;if(parentNode){parentNode =parentNode.parentNode;if(parentNode &&parentNode.attributes){var idAttribute =parentNode.attributes.getNamedItem('id');if(idAttribute){id =idAttribute.nodeValue;associatedElement =markupContext.findElement(id);}
}
} }
else {if(elementAttribute.nodeValue.length){id =elementAttribute.nodeValue;associatedElement =markupContext.findElement(id);}
node.attributes.removeNamedItem('elementID');} var newBehavior =new type(associatedElement);var behavior =Sys.Preview.MarkupParser.initializeObject(newBehavior,node,markupContext,prefixNamespaceMapping);if (behavior){if (elementAttribute){node.attributes.setNamedItem(elementAttribute);}
markupContext.addComponent(behavior);}
else {newBehavior.dispose();}
return behavior;}
Sys.UI.DomElement.getVisible =function(element){return (element.style.visibility !=='hidden');}
Sys.UI.DomElement.setVisible =function(element,value){if (value !==Sys.UI.DomElement.getVisible(element)){element.style.visibility =value ?'visible':'hidden';if (value){if (element.style.display ==="none"){element.style.display =(element._display?element._display :"inline");}
}
else {element._display =element.style.display;element.style.display ="none";}
}
}
function $object(id,context){return Sys.Application.findComponent(id,context);}
Sys._Application.descriptor ={events:[{name:'init'},{name:'load'},{name:'unload'} ]}
Sys._Application.parseFromMarkup =function(type,node,markupContext,prefixNamespaceMapping){if (!markupContext.get_isGlobal()){return null;}
var id =null;var idAttribute =node.attributes.getNamedItem('id');if (idAttribute){id =idAttribute.nodeValue;node.attributes.removeNamedItem('id');}
Sys.Preview.MarkupParser.initializeObject(Sys.Application,node,markupContext,prefixNamespaceMapping);if (idAttribute){node.attributes.setNamedItem(idAttribute);}
if (id &&(markupContext.findComponent(id)!==Sys.Application)){markupContext._addComponentByID(id,Sys.Application,true);}
return Sys.Application;}
Sys.Application.getMarkupContext =function(){return this._markupContext;}
Sys.Application.__initHandler =function(){var a =Sys.Application;a.remove_init(Sys.Application.__initHandler);Sys.Preview.MarkupParser.processDocument(a._markupContext);}
Sys.Application.__unloadHandler =function(){var a =Sys.Application;a.remove_unload(a.__unloadHandler);if(a._markupContext){a._markupContext.dispose();a._markupContext =null;}
}
if(!Sys.Application._markupContext){Sys.Application._markupContext =Sys.Preview.MarkupContext.createGlobalContext();Sys.Application.add_init(Sys.Application.__initHandler);Sys.Application.add_unload(Sys.Application.__unloadHandler);}
