/* START Telerik.Web.UI.Common.Core.js */
try{
document.execCommand("BackgroundImageCache",false,true);
}
catch(err){
}
Type.registerNamespace("Telerik.Web.UI");
window.$telerik=window.TelerikCommonScripts=Telerik.Web.CommonScripts={_borderStyleNames:["borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],_borderWidthNames:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],_paddingWidthNames:["paddingTop","paddingRight","paddingBottom","paddingLeft"],_marginWidthNames:["marginTop","marginRight","marginBottom","marginLeft"],radControls:[],registerControl:function(_1){
if(!Array.contains(this.radControls,_1)){
Array.add(this.radControls,_1);
}
},unregisterControl:function(_2){
Array.remove(this.radControls,_2);
},repaintChildren:function(_3){
var _4=_3.get_element();
for(var i=0,_6=this.radControls.length;i<_6;i++){
var _7=this.radControls[i];
if(_7.repaint&&this.isDescendant(_4,_7.get_element())){
_7.repaint();
}
}
},_borderThickness:function(){
$telerik._borderThicknesses={};
var _8=document.createElement("div");
var _9=document.createElement("div");
_8.style.visibility="hidden";
_8.style.position="absolute";
_8.style.fontSize="1px";
_9.style.height="0px";
_9.style.overflow="hidden";
document.body.appendChild(_8).appendChild(_9);
var _a=_8.offsetHeight;
_9.style.borderTop="solid black";
_9.style.borderTopWidth="thin";
$telerik._borderThicknesses["thin"]=_8.offsetHeight-_a;
_9.style.borderTopWidth="medium";
$telerik._borderThicknesses["medium"]=_8.offsetHeight-_a;
_9.style.borderTopWidth="thick";
$telerik._borderThicknesses["thick"]=_8.offsetHeight-_a;
if(typeof (_8.removeChild)!=="undefined"){
_8.removeChild(_9);
}
document.body.removeChild(_8);
_8=null;
_9=null;
},getCurrentStyle:function(_b,_c,_d){
var _e=null;
if(_b){
if(_b.currentStyle){
_e=_b.currentStyle[_c];
}else{
if(document.defaultView&&document.defaultView.getComputedStyle){
var _f=document.defaultView.getComputedStyle(_b,null);
if(_f){
_e=_f[_c];
}
}
}
if(!_e&&_b.style.getPropertyValue){
_e=_b.style.getPropertyValue(_c);
}else{
if(!_e&&_b.style.getAttribute){
_e=_b.style.getAttribute(_c);
}
}
}
if((!_e||_e==""||typeof (_e)==="undefined")){
if(typeof (_d)!="undefined"){
_e=_d;
}else{
_e=null;
}
}
return _e;
},getInheritedBackgroundColor:function(_10){
if(!_10){
return "#FFFFFF";
}
var _11=$telerik.getCurrentStyle(_10,"backgroundColor");
try{
while(!_11||_11==""||_11=="transparent"||_11=="rgba(0, 0, 0, 0)"){
_10=_10.parentNode;
if(!_10){
_11="#FFFFFF";
}else{
_11=$telerik.getCurrentStyle(_10,"backgroundColor");
}
}
}
catch(ex){
_11="#FFFFFF";
}
return _11;
},getLocation:function(_12){
if(_12===document.documentElement){
return new Sys.UI.Point(0,0);
}
if(Sys.Browser.agent==Sys.Browser.InternetExplorer){
if(_12.window===_12||_12.nodeType===9||!_12.getClientRects||!_12.getBoundingClientRect){
return new Sys.UI.Point(0,0);
}
var _13=_12.getClientRects();
if(!_13||!_13.length){
return new Sys.UI.Point(0,0);
}
var _14=_13[0];
var _15=0;
var _16=0;
var _17=false;
try{
_17=_12.ownerDocument.parentWindow.frameElement;
}
catch(ex){
_17=true;
}
if(_17){
var _18=_12.getBoundingClientRect();
if(!_18){
return new Sys.UI.Point(0,0);
}
var _19=_14.left;
var _1a=_14.top;
for(var i=1;i<_13.length;i++){
var r=_13[i];
if(r.left<_19){
_19=r.left;
}
if(r.top<_1a){
_1a=r.top;
}
}
_15=_19-_18.left;
_16=_1a-_18.top;
}
var _1d=_12.document.documentElement;
var _1e=new Sys.UI.Point(_14.left-2-_15+_1d.scrollLeft,_14.top-2-_16+_1d.scrollTop);
if($telerik.quirksMode){
_1e.x+=document.body.scrollLeft;
_1e.y+=document.body.scrollTop;
}
return _1e;
}
var _1e=Sys.UI.DomElement.getLocation(_12);
if($telerik.isOpera){
var _1f=_12.offsetParent;
while(_1f&&_1f.tagName.toUpperCase()!="BODY"&&_1f.tagName.toUpperCase()!="HTML"){
_1e.x-=_1f.scrollLeft;
_1e.y-=_1f.scrollTop;
_1f=_1f.offsetParent;
}
}
if($telerik.isSafari){
var _1f=_12.parentNode;
while(_1f&&_1f.tagName.toUpperCase()!="BODY"&&_1f.tagName.toUpperCase()!="HTML"){
_1e.x-=_1f.scrollLeft;
_1e.y-=_1f.scrollTop;
_1f=_1f.parentNode;
}
}
if($telerik.isIE&&$telerik.quirksMode){
_1e.x+=document.body.scrollLeft;
_1e.y+=document.body.scrollTop;
}
return _1e;
},setLocation:function(_20,_21){
Sys.UI.DomElement.setLocation(_20,_21.x,_21.y);
},getContentSize:function(_22){
if(!_22){
throw Error.argumentNull("element");
}
var _23=$telerik.getSize(_22);
var _24=$telerik.getBorderBox(_22);
var _25=$telerik.getPaddingBox(_22);
return {width:_23.width-_24.horizontal-_25.horizontal,height:_23.height-_24.vertical-_25.vertical};
},getSize:function(_26){
if(!_26){
throw Error.argumentNull("element");
}
return {width:_26.offsetWidth,height:_26.offsetHeight};
},setContentSize:function(_27,_28){
if(!_27){
throw Error.argumentNull("element");
}
if(!_28){
throw Error.argumentNull("size");
}
if($telerik.getCurrentStyle(_27,"MozBoxSizing")=="border-box"||$telerik.getCurrentStyle(_27,"BoxSizing")=="border-box"){
var _29=$telerik.getBorderBox(_27);
var _2a=$telerik.getPaddingBox(_27);
_28={width:_28.width+_29.horizontal+_2a.horizontal,height:_28.height+_29.vertical+_2a.vertical};
}
_27.style.width=_28.width.toString()+"px";
_27.style.height=_28.height.toString()+"px";
},setSize:function(_2b,_2c){
if(!_2b){
throw Error.argumentNull("element");
}
if(!_2c){
throw Error.argumentNull("size");
}
var _2d=$telerik.getBorderBox(_2b);
var _2e=$telerik.getPaddingBox(_2b);
var _2f={width:_2c.width-_2d.horizontal-_2e.horizontal,height:_2c.height-_2d.vertical-_2e.vertical};
$telerik.setContentSize(_2b,_2f);
},getBounds:function(_30){
var _31=$telerik.getLocation(_30);
return new Sys.UI.Bounds(_31.x,_31.y,_30.offsetWidth||0,_30.offsetHeight||0);
},setBounds:function(_32,_33){
if(!_32){
throw Error.argumentNull("element");
}
if(!_33){
throw Error.argumentNull("bounds");
}
$telerik.setSize(_32,_33);
$telerik.setLocation(_32,_33);
},getClientBounds:function(){
var _34;
var _35;
switch(Sys.Browser.agent){
case Sys.Browser.InternetExplorer:
_34=document.documentElement.clientWidth;
_35=document.documentElement.clientHeight;
if(_34==0&&_35==0){
_34=document.body.clientWidth;
_35=document.body.clientHeight;
}
break;
case Sys.Browser.Safari:
_34=window.innerWidth;
_35=window.innerHeight;
break;
case Sys.Browser.Opera:
_34=Math.min(window.innerWidth,document.body.clientWidth);
_35=Math.min(window.innerHeight,document.body.clientHeight);
break;
default:
_34=Math.min(window.innerWidth,document.documentElement.clientWidth);
_35=Math.min(window.innerHeight,document.documentElement.clientHeight);
break;
}
return new Sys.UI.Bounds(0,0,_34,_35);
},getMarginBox:function(_36){
if(!_36){
throw Error.argumentNull("element");
}
var box={top:$telerik.getMargin(_36,Telerik.Web.BoxSide.Top),right:$telerik.getMargin(_36,Telerik.Web.BoxSide.Right),bottom:$telerik.getMargin(_36,Telerik.Web.BoxSide.Bottom),left:$telerik.getMargin(_36,Telerik.Web.BoxSide.Left)};
box.horizontal=box.left+box.right;
box.vertical=box.top+box.bottom;
return box;
},getPaddingBox:function(_38){
if(!_38){
throw Error.argumentNull("element");
}
var box={top:$telerik.getPadding(_38,Telerik.Web.BoxSide.Top),right:$telerik.getPadding(_38,Telerik.Web.BoxSide.Right),bottom:$telerik.getPadding(_38,Telerik.Web.BoxSide.Bottom),left:$telerik.getPadding(_38,Telerik.Web.BoxSide.Left)};
box.horizontal=box.left+box.right;
box.vertical=box.top+box.bottom;
return box;
},getBorderBox:function(_3a){
if(!_3a){
throw Error.argumentNull("element");
}
var box={top:$telerik.getBorderWidth(_3a,Telerik.Web.BoxSide.Top),right:$telerik.getBorderWidth(_3a,Telerik.Web.BoxSide.Right),bottom:$telerik.getBorderWidth(_3a,Telerik.Web.BoxSide.Bottom),left:$telerik.getBorderWidth(_3a,Telerik.Web.BoxSide.Left)};
box.horizontal=box.left+box.right;
box.vertical=box.top+box.bottom;
return box;
},isBorderVisible:function(_3c,_3d){
if(!_3c){
throw Error.argumentNull("element");
}
if(_3d<Telerik.Web.BoxSide.Top||_3d>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_3d,"Telerik.Web.BoxSide"));
}
var _3e=$telerik._borderStyleNames[_3d];
var _3f=$telerik.getCurrentStyle(_3c,_3e);
return _3f!="none";
},getMargin:function(_40,_41){
if(!_40){
throw Error.argumentNull("element");
}
if(_41<Telerik.Web.BoxSide.Top||_41>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_41,"Telerik.Web.BoxSide"));
}
var _42=$telerik._marginWidthNames[_41];
var _43=$telerik.getCurrentStyle(_40,_42);
try{
return $telerik.parsePadding(_43);
}
catch(ex){
return 0;
}
},getBorderWidth:function(_44,_45){
if(!_44){
throw Error.argumentNull("element");
}
if(_45<Telerik.Web.BoxSide.Top||_45>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_45,"Telerik.Web.BoxSide"));
}
if(!$telerik.isBorderVisible(_44,_45)){
return 0;
}
var _46=$telerik._borderWidthNames[_45];
var _47=$telerik.getCurrentStyle(_44,_46);
return $telerik.parseBorderWidth(_47);
},getPadding:function(_48,_49){
if(!_48){
throw Error.argumentNull("element");
}
if(_49<Telerik.Web.BoxSide.Top||_49>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_49,"Telerik.Web.BoxSide"));
}
var _4a=$telerik._paddingWidthNames[_49];
var _4b=$telerik.getCurrentStyle(_48,_4a);
return $telerik.parsePadding(_4b);
},parseBorderWidth:function(_4c){
if(_4c){
switch(_4c){
case "thin":
case "medium":
case "thick":
return $telerik._borderThicknesses[_4c];
case "inherit":
return 0;
}
var _4d=$telerik.parseUnit(_4c);
return _4d.size;
}
return 0;
},parsePadding:function(_4e){
if(_4e){
if(_4e=="inherit"){
return 0;
}
var _4f=$telerik.parseUnit(_4e);
return _4f.size;
}
return 0;
},parseUnit:function(_50){
if(!_50){
throw Error.argumentNull("value");
}
_50=_50.trim().toLowerCase();
var l=_50.length;
var s=-1;
for(var i=0;i<l;i++){
var ch=_50.substr(i,1);
if((ch<"0"||ch>"9")&&ch!="-"&&ch!="."&&ch!=","){
break;
}
s=i;
}
if(s==-1){
throw Error.create("No digits");
}
var _55;
var _56;
if(s<(l-1)){
_55=_50.substring(s+1).trim();
}else{
_55="px";
}
_56=parseFloat(_50.substr(0,s+1));
if(_55=="px"){
_56=Math.floor(_56);
}
return {size:_56,type:_55};
},containsPoint:function(_57,x,y){
return x>=_57.x&&x<=(_57.x+_57.width)&&y>=_57.y&&y<=(_57.y+_57.height);
},isDescendant:function(_5a,_5b){
for(var n=_5b.parentNode;n!=null;n=n.parentNode){
if(n==_5a){
return true;
}
}
return false;
},isDescendantOrSelf:function(_5d,_5e){
if(_5d===_5e){
return true;
}
return $telerik.isDescendant(_5d,_5e);
},setOuterHeight:function(_5f,_60){
if(_60<=0||_60==""){
_5f.style.height="";
}else{
_5f.style.height=_60+"px";
var _61=_5f.offsetHeight-_60;
var _62=_60-_61;
if(_62>0){
_5f.style.height=_62+"px";
}else{
_5f.style.height="";
}
}
},setOpacity:function(_63,_64){
if(!_63){
throw Error.argumentNull("element");
}
try{
if(_63.filters){
var _65=_63.filters;
var _66=true;
if(_65.length!==0){
var _67=_65["DXImageTransform.Microsoft.Alpha"];
if(_67){
_66=false;
_67.opacity=_64*100;
}
}
if(_66){
_63.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+(_64*100)+")";
}
}else{
_63.style.opacity=_64;
}
}
catch(ex){
}
},getOpacity:function(_68){
if(!_68){
throw Error.argumentNull("element");
}
var _69=false;
var _6a;
try{
if(_68.filters){
var _6b=_68.filters;
if(_6b.length!==0){
var _6c=_6b["DXImageTransform.Microsoft.Alpha"];
if(_6c){
_6a=_6c.opacity/100;
_69=true;
}
}
}else{
_6a=$telerik.getCurrentStyle(_68,"opacity",1);
_69=true;
}
}
catch(ex){
}
if(_69===false){
return 1;
}
return parseFloat(_6a);
},addCssClasses:function(_6d,_6e){
for(var i=0;i<_6e.length;i++){
Sys.UI.DomElement.addCssClass(_6d,_6e[i]);
}
},removeCssClasses:function(_70,_71){
for(var i=0;i<_71.length;i++){
Sys.UI.DomElement.removeCssClass(_70,_71[i]);
}
},setOuterWidth:function(_73,_74){
if(_74<=0||_74==""){
_73.style.width="";
}else{
_73.style.width=_74+"px";
var _75=_73.offsetWidth-_74;
var _76=_74-_75;
if(_76>0){
_73.style.width=_76+"px";
}else{
_73.style.width="";
}
}
},getScrollOffset:function(_77,_78){
var _79=0;
var top=0;
var _7b=_77;
while(_7b!=null&&_7b.scrollLeft!=null){
_79+=_7b.scrollLeft;
top+=_7b.scrollTop;
if(!_78||(_7b==document.body&&(_7b.scrollLeft!=0||_7b.scrollTop!=0))){
break;
}
_7b=_7b.parentNode;
}
return {x:_79,y:top};
},getElementByClassName:function(_7c,_7d,_7e){
var _7f=null;
if(_7e){
_7f=_7c.getElementsByTagName(_7e);
}else{
_7f=_7c.getElementsByTagName("*");
}
for(var i=0,_81=_7f.length;i<_81;i++){
var _82=_7f[i];
if(Sys.UI.DomElement.containsCssClass(_82,_7d)){
return _82;
}
}
return null;
},addExternalHandler:function(_83,_84,_85){
if(_83.addEventListener){
_83.addEventListener(_84,_85,false);
}else{
if(_83.attachEvent){
_83.attachEvent("on"+_84,_85);
}
}
},removeExternalHandler:function(_86,_87,_88){
if(_86.addEventListener){
_86.removeEventListener(_87,_88,false);
}else{
if(_86.detachEvent){
_86.detachEvent("on"+_87,_88);
}
}
},cancelRawEvent:function(e){
if(!e){
return false;
}
if(e.preventDefault){
e.preventDefault();
}
if(e.stopPropagation){
e.stopPropagation();
}
e.cancelBubble=true;
e.returnValue=false;
return false;
},getOuterHtml:function(_8a){
if(_8a.outerHTML){
return _8a.outerHTML;
}else{
var _8b=_8a.cloneNode(true);
var _8c=_8a.ownerDocument.createElement("DIV");
_8c.appendChild(_8b);
return _8c.innerHTML;
}
},setVisible:function(e,_8e){
if(!e){
return;
}
if(_8e!=$telerik.getVisible(e)){
if(_8e){
if(e.style.removeAttribute){
e.style.removeAttribute("display");
}else{
e.style.removeProperty("display");
}
}else{
e.style.display="none";
}
e.style.visibility=_8e?"visible":"hidden";
}
},getVisible:function(e){
if(!e){
return false;
}
return (("none"!=$telerik.getCurrentStyle(e,"display"))&&("hidden"!=$telerik.getCurrentStyle(e,"visibility")));
},getViewPortSize:function(){
var _90=0;
var _91=0;
var _92=document.body;
if(!$telerik.quirksMode&&!$telerik.isSafari){
_92=document.documentElement;
}
if(window.innerWidth){
_90=window.innerWidth;
_91=window.innerHeight;
}else{
_90=_92.clientWidth;
_91=_92.clientHeight;
}
_90+=_92.scrollLeft;
_91+=_92.scrollTop;
return {width:_90-6,height:_91-6};
},elementOverflowsTop:function(_93){
return $telerik.getLocation(_93).y<0;
},elementOverflowsLeft:function(_94){
return $telerik.getLocation(_94).x<0;
},elementOverflowsBottom:function(_95,_96){
var _97=$telerik.getLocation(_96).y+_96.offsetHeight;
return _97>_95.height;
},elementOverflowsRight:function(_98,_99){
var _9a=$telerik.getLocation(_99).x+_99.offsetWidth;
return _9a>_98.width;
},getDocumentRelativeCursorPosition:function(e){
var _9c=document.documentElement.scrollLeft||document.body.scrollLeft;
var _9d=document.documentElement.scrollTop||document.body.scrollTop;
var _9e=e.clientX+_9c;
var top=e.clientY+_9d;
return {left:_9e,top:top};
},getFirstChildByTagName:function(_a0,_a1,_a2){
if(!_a0||!_a0.childNodes){
return null;
}
var _a3=_a0.childNodes[_a2]||_a0.firstChild;
while(_a3){
if(_a3.nodeType==1&&_a3.tagName.toLowerCase()==_a1){
return _a3;
}
_a3=_a3.nextSibling;
}
return null;
},getChildByClassName:function(_a4,_a5,_a6){
var _a7=_a4.childNodes[_a6]||_a4.firstChild;
while(_a7){
if(_a7.nodeType==1&&_a7.className.indexOf(_a5)>-1){
return _a7;
}
_a7=_a7.nextSibling;
}
return null;
},getChildrenByTagName:function(_a8,_a9){
var _aa=new Array();
var _ab=_a8.childNodes;
for(var i=0,_ad=_ab.length;i<_ad;i++){
var _ae=_ab[i];
if(_ae.nodeType==1&&_ae.tagName.toLowerCase()==_a9){
Array.add(_aa,_ae);
}
}
return _aa;
},getChildrenByClassName:function(_af,_b0){
var _b1=new Array();
var _b2=_af.childNodes;
for(var i=0,_b4=_b2.length;i<_b4;i++){
var _b5=_b2[i];
if(_b5.nodeType==1&&_b5.className.indexOf(_b0)>-1){
Array.add(_b1,_b5);
}
}
return _b1;
}};
$telerik.isIE=Sys.Browser.agent==Sys.Browser.InternetExplorer;
$telerik.isIE7=$telerik.isIE&&Sys.Browser.version==7;
$telerik.isIE6=$telerik.isIE&&Sys.Browser.version<7;
$telerik.isOpera=Sys.Browser.agent==Sys.Browser.Opera;
$telerik.isSafari=Sys.Browser.agent==Sys.Browser.Safari;
$telerik.isSafari3=$telerik.isSafari&&Sys.Browser.version>500;
$telerik.isSafari2=$telerik.isSafari&&Sys.Browser.version<=500;
$telerik.isFirefox=Sys.Browser.agent==Sys.Browser.Firefox;
$telerik.quirksMode=$telerik.isIE&&document.compatMode!="CSS1Compat";
$telerik.standardsMode=!$telerik.quirksMode;
$telerik._borderThickness();
Telerik.Web.UI.Orientation=function(){
throw Error.invalidOperation();
};
Telerik.Web.UI.Orientation.prototype={Horizontal:0,Vertical:1};
Telerik.Web.UI.Orientation.registerEnum("Telerik.Web.UI.Orientation",false);
Telerik.Web.UI.RadWebControl=function(_b6){
Telerik.Web.UI.RadWebControl.initializeBase(this,[_b6]);
this._clientStateFieldID=null;
};
Telerik.Web.UI.RadWebControl.prototype={initialize:function(){
Telerik.Web.UI.RadWebControl.callBaseMethod(this,"initialize");
$telerik.registerControl(this);
if(!this.get_clientStateFieldID()){
return;
}
var _b7=$get(this.get_clientStateFieldID());
if(!_b7){
return;
}
_b7.setAttribute("autocomplete","off");
},dispose:function(){
$telerik.unregisterControl(this);
Telerik.Web.UI.RadWebControl.callBaseMethod(this,"dispose");
},raiseEvent:function(_b8,_b9){
var _ba=this.get_events().getHandler(_b8);
if(_ba){
if(!_b9){
_b9=Sys.EventArgs.Empty;
}
_ba(this,_b9);
}
},updateClientState:function(){
this.set_clientState(this.saveClientState());
},saveClientState:function(){
return null;
},get_clientStateFieldID:function(){
return this._clientStateFieldID;
},set_clientStateFieldID:function(_bb){
if(this._clientStateFieldID!=_bb){
this._clientStateFieldID=_bb;
this.raisePropertyChanged("ClientStateFieldID");
}
},get_clientState:function(){
if(this._clientStateFieldID){
var _bc=document.getElementById(this._clientStateFieldID);
if(_bc){
return _bc.value;
}
}
return null;
},set_clientState:function(_bd){
if(this._clientStateFieldID){
var _be=document.getElementById(this._clientStateFieldID);
if(_be){
_be.value=_bd;
}
}
},_getChildElement:function(id){
return $get(this.get_id()+"_"+id);
},_findChildControl:function(id){
return $find(this.get_id()+"_"+id);
}};
Telerik.Web.UI.RadWebControl.registerClass("Telerik.Web.UI.RadWebControl",Sys.UI.Control);
Telerik.Web.Timer=function(){
Telerik.Web.Timer.initializeBase(this);
this._interval=1000;
this._enabled=false;
this._timer=null;
this._timerCallbackDelegate=Function.createDelegate(this,this._timerCallback);
};
Telerik.Web.Timer.prototype={get_interval:function(){
return this._interval;
},set_interval:function(_c1){
if(this._interval!==_c1){
this._interval=_c1;
this.raisePropertyChanged("interval");
if(!this.get_isUpdating()&&(this._timer!==null)){
this._stopTimer();
this._startTimer();
}
}
},get_enabled:function(){
return this._enabled;
},set_enabled:function(_c2){
if(_c2!==this.get_enabled()){
this._enabled=_c2;
this.raisePropertyChanged("enabled");
if(!this.get_isUpdating()){
if(_c2){
this._startTimer();
}else{
this._stopTimer();
}
}
}
},add_tick:function(_c3){
this.get_events().addHandler("tick",_c3);
},remove_tick:function(_c4){
this.get_events().removeHandler("tick",_c4);
},dispose:function(){
this.set_enabled(false);
this._stopTimer();
Telerik.Web.Timer.callBaseMethod(this,"dispose");
},updated:function(){
Telerik.Web.Timer.callBaseMethod(this,"updated");
if(this._enabled){
this._stopTimer();
this._startTimer();
}
},_timerCallback:function(){
var _c5=this.get_events().getHandler("tick");
if(_c5){
_c5(this,Sys.EventArgs.Empty);
}
},_startTimer:function(){
this._timer=window.setInterval(this._timerCallbackDelegate,this._interval);
},_stopTimer:function(){
window.clearInterval(this._timer);
this._timer=null;
}};
Telerik.Web.Timer.registerClass("Telerik.Web.Timer",Sys.Component);
Telerik.Web.BoxSide=function(){
};
Telerik.Web.BoxSide.prototype={Top:0,Right:1,Bottom:2,Left:3};
Telerik.Web.BoxSide.registerEnum("Telerik.Web.BoxSide",false);
if(Sys.CultureInfo.prototype._getAbbrMonthIndex){
try{
Sys.CultureInfo.prototype._getAbbrMonthIndex("");
}
catch(ex){
Sys.CultureInfo.prototype._getAbbrMonthIndex=function(_c6){
if(!this._upperAbbrMonths){
this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
}
return Array.indexOf(this._upperAbbrMonths,this._toUpper(_c6));
};
Sys.CultureInfo.CurrentCulture._getAbbrMonthIndex=Sys.CultureInfo.prototype._getAbbrMonthIndex;
Sys.CultureInfo.InvariantCulture._getAbbrMonthIndex=Sys.CultureInfo.prototype._getAbbrMonthIndex;
}
}
Type.registerNamespace("Telerik.Web.UI.Dialogs");
Telerik.Web.IParameterConsumer=function(){
};
Telerik.Web.IParameterConsumer.prototype={clientInit:function(_c7){
throw Error.notImplemented();
}};
Telerik.Web.IParameterConsumer.registerInterface("Telerik.Web.IParameterConsumer");
Telerik.Web.UI.Dialogs.CommonDialogScript=function(){
};
Telerik.Web.UI.Dialogs.CommonDialogScript.get_windowReference=function(){
if(window.radWindow){
return window.radWindow;
}
if(window.frameElement&&window.frameElement.radWindow){
return window.frameElement.radWindow;
}
return null;
};
Telerik.Web.UI.Dialogs.CommonDialogScript.registerClass("Telerik.Web.UI.Dialogs.CommonDialogScript",null);
Telerik.Web.UI.WebServiceLoaderEventArgs=function(_c8){
Telerik.Web.UI.WebServiceLoaderEventArgs.initializeBase(this);
this._context=_c8;
};
Telerik.Web.UI.WebServiceLoaderEventArgs.prototype={get_context:function(){
return this._context;
}};
Telerik.Web.UI.WebServiceLoaderEventArgs.registerClass("Telerik.Web.UI.WebServiceLoaderEventArgs",Sys.EventArgs);
Telerik.Web.UI.WebServiceLoaderSuccessEventArgs=function(_c9,_ca){
Telerik.Web.UI.WebServiceLoaderSuccessEventArgs.initializeBase(this,[_ca]);
this._data=_c9;
};
Telerik.Web.UI.WebServiceLoaderSuccessEventArgs.prototype={get_data:function(){
return this._data;
}};
Telerik.Web.UI.WebServiceLoaderSuccessEventArgs.registerClass("Telerik.Web.UI.WebServiceLoaderSuccessEventArgs",Telerik.Web.UI.WebServiceLoaderEventArgs);
Telerik.Web.UI.WebServiceLoaderErrorEventArgs=function(_cb,_cc){
Telerik.Web.UI.WebServiceLoaderErrorEventArgs.initializeBase(this,[_cc]);
this._message=_cb;
};
Telerik.Web.UI.WebServiceLoaderErrorEventArgs.prototype={get_message:function(){
return this._message;
}};
Telerik.Web.UI.WebServiceLoaderErrorEventArgs.registerClass("Telerik.Web.UI.WebServiceLoaderErrorEventArgs",Telerik.Web.UI.WebServiceLoaderEventArgs);
Telerik.Web.UI.WebServiceLoader=function(_cd){
this._webServiceSettings=_cd;
this._events=null;
this._currentWebRequest=null;
this._onWebServiceSuccessDelegate=Function.createDelegate(this,this._onWebServiceSuccess);
this._onWebServiceErrorDelegate=Function.createDelegate(this,this._onWebServiceError);
};
Telerik.Web.UI.WebServiceLoader.prototype={get_webServiceSettings:function(){
return this._webServiceSettings;
},get_events:function(){
if(!this._events){
this._events=new Sys.EventHandlerList();
}
return this._events;
},loadData:function(_ce,_cf){
var _d0=this.get_webServiceSettings();
if(_d0.get_isEmpty()){
Error.invalidOperation("Please, specify valid web service and method.");
return;
}
var _d1=_d0.get_path();
var _d2=_d0.get_method();
this._raiseEvent("loadingStarted",new Telerik.Web.UI.WebServiceLoaderEventArgs(_cf));
this._currentWebRequest=Sys.Net.WebServiceProxy.invoke(_d1,_d2,false,_ce,this._onWebServiceSuccessDelegate,this._onWebServiceErrorDelegate,_cf);
},add_loadingStarted:function(_d3){
this.get_events().addHandler("loadingStarted",_d3);
},add_loadingError:function(_d4){
this.get_events().addHandler("loadingError",_d4);
},add_loadingSuccess:function(_d5){
this.get_events().addHandler("loadingSuccess",_d5);
},_onWebServiceSuccess:function(_d6,_d7){
var _d8=new Telerik.Web.UI.WebServiceLoaderSuccessEventArgs(_d6,_d7);
this._raiseEvent("loadingSuccess",_d8);
},_onWebServiceError:function(_d9,_da){
var _db=new Telerik.Web.UI.WebServiceLoaderErrorEventArgs(_d9.get_message(),_da);
this._raiseEvent("loadingError",_db);
},_raiseEvent:function(_dc,_dd){
var _de=this.get_events().getHandler(_dc);
if(_de){
if(!_dd){
_dd=Sys.EventArgs.Empty;
}
_de(this,_dd);
}
}};
Telerik.Web.UI.WebServiceLoader.registerClass("Telerik.Web.UI.WebServiceLoader");
Telerik.Web.UI.WebServiceSettings=function(_df){
this._path=null;
this._method=null;
if(!_df){
_df={};
}
if(typeof (_df.path)!="undefined"){
this._path=_df.path;
}
if(typeof (_df.method)!="undefined"){
this._method=_df.method;
}
};
Telerik.Web.UI.WebServiceSettings.prototype={get_path:function(){
return this._path;
},set_path:function(_e0){
this._path=_e0;
},get_method:function(){
return this._method;
},set_method:function(_e1){
this._method=_e1;
},get_isEmpty:function(){
var _e2=this.get_path();
var _e3=this.get_method();
return (!(_e2&&_e3));
}};
Telerik.Web.UI.WebServiceSettings.registerClass("Telerik.Web.UI.WebServiceSettings");


/* END Telerik.Web.UI.Common.Core.js */
/* START Telerik.Web.UI.Common.Popup.PopupScripts.js */
Type.registerNamespace("Telerik.Web");
Telerik.Web.BehaviorBase=function(_1){
Telerik.Web.BehaviorBase.initializeBase(this,[_1]);
this._clientStateFieldID=null;
this._pageRequestManager=null;
this._partialUpdateBeginRequestHandler=null;
this._partialUpdateEndRequestHandler=null;
};
Telerik.Web.BehaviorBase.prototype={initialize:function(){
Telerik.Web.BehaviorBase.callBaseMethod(this,"initialize");
},dispose:function(){
Telerik.Web.BehaviorBase.callBaseMethod(this,"dispose");
if(this._pageRequestManager){
if(this._partialUpdateBeginRequestHandler){
this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequestHandler);
this._partialUpdateBeginRequestHandler=null;
}
if(this._partialUpdateEndRequestHandler){
this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestHandler);
this._partialUpdateEndRequestHandler=null;
}
this._pageRequestManager=null;
}
},get_ClientStateFieldID:function(){
return this._clientStateFieldID;
},set_ClientStateFieldID:function(_2){
if(this._clientStateFieldID!=_2){
this._clientStateFieldID=_2;
this.raisePropertyChanged("ClientStateFieldID");
}
},get_ClientState:function(){
if(this._clientStateFieldID){
var _3=document.getElementById(this._clientStateFieldID);
if(_3){
return _3.value;
}
}
return null;
},set_ClientState:function(_4){
if(this._clientStateFieldID){
var _5=document.getElementById(this._clientStateFieldID);
if(_5){
_5.value=_4;
}
}
},registerPartialUpdateEvents:function(){
if(Sys&&Sys.WebForms&&Sys.WebForms.PageRequestManager){
this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();
if(this._pageRequestManager){
this._partialUpdateBeginRequestHandler=Function.createDelegate(this,this._partialUpdateBeginRequest);
this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequestHandler);
this._partialUpdateEndRequestHandler=Function.createDelegate(this,this._partialUpdateEndRequest);
this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHandler);
}
}
},_partialUpdateBeginRequest:function(_6,_7){
},_partialUpdateEndRequest:function(_8,_9){
}};
Telerik.Web.BehaviorBase.registerClass("Telerik.Web.BehaviorBase",Sys.UI.Behavior);
Type.registerNamespace("Telerik.Web");
Telerik.Web.IDragSource=function(){
};
Telerik.Web.IDragSource.prototype={get_dragDataType:function(){
throw Error.notImplemented();
},getDragData:function(){
throw Error.notImplemented();
},get_dragMode:function(){
throw Error.notImplemented();
},onDragStart:function(){
throw Error.notImplemented();
},onDrag:function(){
throw Error.notImplemented();
},onDragEnd:function(){
throw Error.notImplemented();
}};
Telerik.Web.IDragSource.registerInterface("Telerik.Web.IDragSource");
Telerik.Web.IDropTarget=function(){
};
Telerik.Web.IDropTarget.prototype={get_dropTargetElement:function(){
throw Error.notImplemented();
},canDrop:function(){
throw Error.notImplemented();
},drop:function(){
throw Error.notImplemented();
},onDragEnterTarget:function(){
throw Error.notImplemented();
},onDragLeaveTarget:function(){
throw Error.notImplemented();
},onDragInTarget:function(){
throw Error.notImplemented();
}};
Telerik.Web.IDropTarget.registerInterface("Telerik.Web.IDropTarget");
Telerik.Web.DragMode=function(){
throw Error.invalidOperation();
};
Telerik.Web.DragMode.prototype={Copy:0,Move:1};
Telerik.Web.DragMode.registerEnum("Telerik.Web.DragMode");
Telerik.Web.DragDropEventArgs=function(_a,_b,_c){
this._dragMode=_a;
this._dataType=_b;
this._data=_c;
};
Telerik.Web.DragDropEventArgs.prototype={get_dragMode:function(){
return this._dragMode||null;
},get_dragDataType:function(){
return this._dataType||null;
},get_dragData:function(){
return this._data||null;
}};
Telerik.Web.DragDropEventArgs.registerClass("Telerik.Web.DragDropEventArgs");
Telerik.Web._DragDropManager=function(){
this._instance=null;
this._events=null;
};
Telerik.Web._DragDropManager.prototype={add_dragStart:function(_d){
this.get_events().addHandler("dragStart",_d);
},remove_dragStart:function(_e){
this.get_events().removeHandler("dragStart",_e);
},get_events:function(){
if(!this._events){
this._events=new Sys.EventHandlerList();
}
return this._events;
},add_dragStop:function(_f){
this.get_events().addHandler("dragStop",_f);
},remove_dragStop:function(_10){
this.get_events().removeHandler("dragStop",_10);
},_getInstance:function(){
if(!this._instance){
if(Sys.Browser.agent===Sys.Browser.InternetExplorer){
this._instance=new Telerik.Web.IEDragDropManager();
}else{
this._instance=new Telerik.Web.GenericDragDropManager();
}
this._instance.initialize();
this._instance.add_dragStart(Function.createDelegate(this,this._raiseDragStart));
this._instance.add_dragStop(Function.createDelegate(this,this._raiseDragStop));
}
return this._instance;
},startDragDrop:function(_11,_12,_13){
this._getInstance().startDragDrop(_11,_12,_13);
},registerDropTarget:function(_14,_15){
this._getInstance().registerDropTarget(_14,_15);
},unregisterDropTarget:function(_16){
this._getInstance().unregisterDropTarget(_16);
},dispose:function(){
delete this._events;
Sys.Application.unregisterDisposableObject(this);
Sys.Application.removeComponent(this);
},_raiseDragStart:function(_17,_18){
var _19=this.get_events().getHandler("dragStart");
if(_19){
_19(this,_18);
}
},_raiseDragStop:function(_1a,_1b){
var _1c=this.get_events().getHandler("dragStop");
if(_1c){
_1c(this,_1b);
}
}};
Telerik.Web._DragDropManager.registerClass("Telerik.Web._DragDropManager");
Telerik.Web.DragDropManager=new Telerik.Web._DragDropManager();
Telerik.Web.IEDragDropManager=function(){
Telerik.Web.IEDragDropManager.initializeBase(this);
this._dropTargets=null;
this._radius=10;
this._activeDragVisual=null;
this._activeContext=null;
this._activeDragSource=null;
this._underlyingTarget=null;
this._oldOffset=null;
this._potentialTarget=null;
this._isDragging=false;
this._mouseUpHandler=null;
this._documentMouseMoveHandler=null;
this._documentDragOverHandler=null;
this._dragStartHandler=null;
this._mouseMoveHandler=null;
this._dragEnterHandler=null;
this._dragLeaveHandler=null;
this._dragOverHandler=null;
this._dropHandler=null;
this._areEventsWired=false;
};
Telerik.Web.IEDragDropManager.prototype={add_dragStart:function(_1d){
this.get_events().addHandler("dragStart",_1d);
},remove_dragStart:function(_1e){
this.get_events().removeHandler("dragStart",_1e);
},add_dragStop:function(_1f){
this.get_events().addHandler("dragStop",_1f);
},remove_dragStop:function(_20){
this.get_events().removeHandler("dragStop",_20);
},initialize:function(){
Telerik.Web.IEDragDropManager.callBaseMethod(this,"initialize");
this._mouseUpHandler=Function.createDelegate(this,this._onMouseUp);
this._documentMouseMoveHandler=Function.createDelegate(this,this._onDocumentMouseMove);
this._documentDragOverHandler=Function.createDelegate(this,this._onDocumentDragOver);
this._dragStartHandler=Function.createDelegate(this,this._onDragStart);
this._mouseMoveHandler=Function.createDelegate(this,this._onMouseMove);
this._dragEnterHandler=Function.createDelegate(this,this._onDragEnter);
this._dragLeaveHandler=Function.createDelegate(this,this._onDragLeave);
this._dragOverHandler=Function.createDelegate(this,this._onDragOver);
this._dropHandler=Function.createDelegate(this,this._onDrop);
},dispose:function(){
if(this._dropTargets){
for(var i=0;i<this._dropTargets;i++){
this.unregisterDropTarget(this._dropTargets[i]);
}
this._dropTargets=null;
}
Telerik.Web.IEDragDropManager.callBaseMethod(this,"dispose");
},startDragDrop:function(_22,_23,_24){
var ev=window._event;
if(this._isDragging){
return;
}
this._underlyingTarget=null;
this._activeDragSource=_22;
this._activeDragVisual=_23;
this._activeContext=_24;
var _26={x:ev.clientX,y:ev.clientY};
_23.originalPosition=_23.style.position;
var _27=$telerik.getLocation(_23);
_23.style.position="absolute";
document._lastPosition=_26;
_23.startingPoint=_26;
var _28=this.getScrollOffset(_23,true);
_23.startingPoint=this.addPoints(_23.startingPoint,_28);
if(_23.style.position=="absolute"){
_23.startingPoint=this.subtractPoints(_23.startingPoint,_27);
}else{
var _29=parseInt(_23.style.left);
var top=parseInt(_23.style.top);
if(isNaN(_29)){
_29="0";
}
if(isNaN(top)){
top="0";
}
_23.startingPoint=this.subtractPoints(_23.startingPoint,{x:_29,y:top});
}
this._prepareForDomChanges();
_22.onDragStart();
var _2b=new Telerik.Web.DragDropEventArgs(_22.get_dragMode(),_22.get_dragDataType(),_22.getDragData(_24));
var _2c=this.get_events().getHandler("dragStart");
if(_2c){
_2c(this,_2b);
}
this._recoverFromDomChanges();
this._unwireEvents();
this._wireEvents();
this._drag(true);
},_stopDragDrop:function(_2d){
var ev=window._event;
if(this._activeDragSource!=null){
this._unwireEvents();
if(!_2d){
_2d=(this._underlyingTarget==null);
}
if(!_2d&&this._underlyingTarget!=null){
this._underlyingTarget.drop(this._activeDragSource.get_dragMode(),this._activeDragSource.get_dragDataType(),this._activeDragSource.getDragData(this._activeContext));
}
this._activeDragSource.onDragEnd(_2d);
var _2f=this.get_events().getHandler("dragStop");
if(_2f){
_2f(this,Sys.EventArgs.Empty);
}
this._activeDragVisual.style.position=this._activeDragVisual.originalPosition;
this._activeDragSource=null;
this._activeContext=null;
this._activeDragVisual=null;
this._isDragging=false;
this._potentialTarget=null;
ev.preventDefault();
}
},_drag:function(_30){
var ev=window._event;
var _32={x:ev.clientX,y:ev.clientY};
document._lastPosition=_32;
var _33=this.getScrollOffset(this._activeDragVisual,true);
var _34=this.addPoints(this.subtractPoints(_32,this._activeDragVisual.startingPoint),_33);
if(!_30&&parseInt(this._activeDragVisual.style.left)==_34.x&&parseInt(this._activeDragVisual.style.top)==_34.y){
return;
}
$telerik.setLocation(this._activeDragVisual,_34);
this._prepareForDomChanges();
this._activeDragSource.onDrag();
this._recoverFromDomChanges();
this._potentialTarget=this._findPotentialTarget(this._activeDragSource,this._activeDragVisual);
var _35=(this._potentialTarget!=this._underlyingTarget||this._potentialTarget==null);
if(_35&&this._underlyingTarget!=null){
this._leaveTarget(this._activeDragSource,this._underlyingTarget);
}
if(this._potentialTarget!=null){
if(_35){
this._underlyingTarget=this._potentialTarget;
this._enterTarget(this._activeDragSource,this._underlyingTarget);
}else{
this._moveInTarget(this._activeDragSource,this._underlyingTarget);
}
}else{
this._underlyingTarget=null;
}
},_wireEvents:function(){
$addHandler(document,"mouseup",this._mouseUpHandler);
$addHandler(document,"mousemove",this._documentMouseMoveHandler);
$addHandler(document.body,"dragover",this._documentDragOverHandler);
$addHandler(this._activeDragVisual,"dragstart",this._dragStartHandler);
$addHandler(this._activeDragVisual,"dragend",this._mouseUpHandler);
$addHandler(this._activeDragVisual,"drag",this._mouseMoveHandler);
this._areEventsWired=true;
},_unwireEvents:function(){
if(!this._areEventsWired){
return;
}
$removeHandler(this._activeDragVisual,"drag",this._mouseMoveHandler);
$removeHandler(this._activeDragVisual,"dragend",this._mouseUpHandler);
$removeHandler(this._activeDragVisual,"dragstart",this._dragStartHandler);
$removeHandler(document.body,"dragover",this._documentDragOverHandler);
$removeHandler(document,"mousemove",this._documentMouseMoveHandler);
$removeHandler(document,"mouseup",this._mouseUpHandler);
this._areEventsWired=false;
},registerDropTarget:function(_36,_37){
if(this._dropTargets==null){
this._dropTargets=[];
}
if(_37){
Array.add(this._dropTargets,_36);
}else{
Array.insert(this._dropTargets,0,_36);
}
this._wireDropTargetEvents(_36);
},unregisterDropTarget:function(_38){
this._unwireDropTargetEvents(_38);
if(this._dropTargets){
Array.remove(this._dropTargets,_38);
}
},_wireDropTargetEvents:function(_39){
var _3a=_39.get_dropTargetElement();
_3a._dropTarget=_39;
$addHandler(_3a,"dragenter",this._dragEnterHandler);
$addHandler(_3a,"dragleave",this._dragLeaveHandler);
$addHandler(_3a,"dragover",this._dragOverHandler);
$addHandler(_3a,"drop",this._dropHandler);
},_unwireDropTargetEvents:function(_3b){
var _3c=_3b.get_dropTargetElement();
if(_3c._dropTarget){
_3c._dropTarget=null;
$removeHandler(_3c,"dragenter",this._dragEnterHandler);
$removeHandler(_3c,"dragleave",this._dragLeaveHandler);
$removeHandler(_3c,"dragover",this._dragOverHandler);
$removeHandler(_3c,"drop",this._dropHandler);
}
},_onDragStart:function(ev){
window._event=ev;
document.selection.empty();
var dt=ev.dataTransfer;
if(!dt&&ev.rawEvent){
dt=ev.rawEvent.dataTransfer;
}
var _3f=this._activeDragSource.get_dragDataType().toLowerCase();
var _40=this._activeDragSource.getDragData(this._activeContext);
if(_40){
if(_3f!="text"&&_3f!="url"){
_3f="text";
if(_40.innerHTML!=null){
_40=_40.innerHTML;
}
}
dt.effectAllowed="move";
dt.setData(_3f,_40.toString());
}
},_onMouseUp:function(ev){
window._event=ev;
this._stopDragDrop(false);
},_onDocumentMouseMove:function(ev){
window._event=ev;
this._dragDrop();
},_onDocumentDragOver:function(ev){
window._event=ev;
if(this._potentialTarget){
ev.preventDefault();
}
},_onMouseMove:function(ev){
window._event=ev;
this._drag();
},_onDragEnter:function(ev){
window._event=ev;
if(this._isDragging){
ev.preventDefault();
}else{
var _46=Telerik.Web.IEDragDropManager._getDataObjectsForDropTarget(this._getDropTarget(ev.target));
for(var i=0;i<_46.length;i++){
this._dropTarget.onDragEnterTarget(Telerik.Web.DragMode.Copy,_46[i].type,_46[i].value);
}
}
},_onDragLeave:function(ev){
window._event=ev;
if(this._isDragging){
ev.preventDefault();
}else{
var _49=Telerik.Web.IEDragDropManager._getDataObjectsForDropTarget(this._getDropTarget(ev.target));
for(var i=0;i<_49.length;i++){
this._dropTarget.onDragLeaveTarget(Telerik.Web.DragMode.Copy,_49[i].type,_49[i].value);
}
}
},_onDragOver:function(ev){
window._event=ev;
if(this._isDragging){
ev.preventDefault();
}else{
var _4c=Telerik.Web.IEDragDropManager._getDataObjectsForDropTarget(this._getDropTarget(ev.target));
for(var i=0;i<_4c.length;i++){
this._dropTarget.onDragInTarget(Telerik.Web.DragMode.Copy,_4c[i].type,_4c[i].value);
}
}
},_onDrop:function(ev){
window._event=ev;
if(!this._isDragging){
var _4f=Telerik.Web.IEDragDropManager._getDataObjectsForDropTarget(this._getDropTarget(ev.target));
for(var i=0;i<_4f.length;i++){
this._dropTarget.drop(Telerik.Web.DragMode.Copy,_4f[i].type,_4f[i].value);
}
}
ev.preventDefault();
},_getDropTarget:function(_51){
while(_51){
if(_51._dropTarget!=null){
return _51._dropTarget;
}
_51=_51.parentNode;
}
return null;
},_dragDrop:function(){
if(this._isDragging){
return;
}
this._isDragging=true;
this._activeDragVisual.dragDrop();
document.selection.empty();
},_moveInTarget:function(_52,_53){
this._prepareForDomChanges();
_53.onDragInTarget(_52.get_dragMode(),_52.get_dragDataType(),_52.getDragData(this._activeContext));
this._recoverFromDomChanges();
},_enterTarget:function(_54,_55){
this._prepareForDomChanges();
_55.onDragEnterTarget(_54.get_dragMode(),_54.get_dragDataType(),_54.getDragData(this._activeContext));
this._recoverFromDomChanges();
},_leaveTarget:function(_56,_57){
this._prepareForDomChanges();
_57.onDragLeaveTarget(_56.get_dragMode(),_56.get_dragDataType(),_56.getDragData(this._activeContext));
this._recoverFromDomChanges();
},_findPotentialTarget:function(_58,_59){
var ev=window._event;
if(this._dropTargets==null){
return null;
}
var _5b=_58.get_dragDataType();
var _5c=_58.get_dragMode();
var _5d=_58.getDragData(this._activeContext);
var _5e=this.getScrollOffset(document.body,true);
var x=ev.clientX+_5e.x;
var y=ev.clientY+_5e.y;
var _61={x:x-this._radius,y:y-this._radius,width:this._radius*2,height:this._radius*2};
var _62;
for(var i=0;i<this._dropTargets.length;i++){
_62=$telerik.getBounds(this._dropTargets[i].get_dropTargetElement());
if(this._overlaps(_61,_62)&&this._dropTargets[i].canDrop(_5c,_5b,_5d)){
return this._dropTargets[i];
}
}
return null;
},_overlaps:function(r1,r2){
var _66=(r1.x>=r2.x&&r1.x<=(r2.x+r2.width));
var _67=((r1.x+r1.width)>=r2.x&&(r1.x+r1.width)<=r2.x+r2.width);
var _68=((r1.x<r2.x)&&((r1.x+r1.width)>(r2.x+r2.width)));
var _69=(r1.y>=r2.y&&r1.y<=(r2.y+r2.height));
var _6a=((r1.y+r1.height)>=r2.y&&(r1.y+r1.height)<=r2.y+r2.height);
var _6b=((r1.y<r2.y)&&((r1.y+r1.height)>(r2.y+r2.height)));
if((_66||_67||_68)&&(_69||_6a||_6b)){
return true;
}
return false;
},_prepareForDomChanges:function(){
this._oldOffset=$telerik.getLocation(this._activeDragVisual);
},_recoverFromDomChanges:function(){
var _6c=$telerik.getLocation(this._activeDragVisual);
if(this._oldOffset.x!=_6c.x||this._oldOffset.y!=_6c.y){
this._activeDragVisual.startingPoint=this.subtractPoints(this._activeDragVisual.startingPoint,this.subtractPoints(this._oldOffset,_6c));
scrollOffset=this.getScrollOffset(this._activeDragVisual,true);
var _6d=this.addPoints(this.subtractPoints(document._lastPosition,this._activeDragVisual.startingPoint),scrollOffset);
$telerik.setLocation(this._activeDragVisual,_6d);
}
},addPoints:function(p1,p2){
return {x:p1.x+p2.x,y:p1.y+p2.y};
},subtractPoints:function(p1,p2){
return {x:p1.x-p2.x,y:p1.y-p2.y};
},getScrollOffset:function(_72,_73){
var _74=_72.scrollLeft;
var top=_72.scrollTop;
if(_73){
var _76=_72.parentNode;
while(_76!=null&&_76.scrollLeft!=null){
_74+=_76.scrollLeft;
top+=_76.scrollTop;
if(_76==document.body&&(_74!=0&&top!=0)){
break;
}
_76=_76.parentNode;
}
}
return {x:_74,y:top};
},getBrowserRectangle:function(){
var _77=window.innerWidth;
var _78=window.innerHeight;
if(_77==null){
_77=document.body.clientWidth;
}
if(_78==null){
_78=document.body.clientHeight;
}
return {x:0,y:0,width:_77,height:_78};
},getNextSibling:function(_79){
for(_79=_79.nextSibling;_79!=null;_79=_79.nextSibling){
if(_79.innerHTML!=null){
return _79;
}
}
return null;
},hasParent:function(_7a){
return (_7a.parentNode!=null&&_7a.parentNode.tagName!=null);
}};
Telerik.Web.IEDragDropManager.registerClass("Telerik.Web.IEDragDropManager",Sys.Component);
Telerik.Web.IEDragDropManager._getDataObjectsForDropTarget=function(_7b){
if(_7b==null){
return [];
}
var ev=window._event;
var _7d=[];
var _7e=["URL","Text"];
var _7f;
for(var i=0;i<_7e.length;i++){
var dt=ev.dataTransfer;
if(!dt&&ev.rawEvent){
dt=ev.rawEvent.dataTransfer;
}
_7f=dt.getData(_7e[i]);
if(_7b.canDrop(Telerik.Web.DragMode.Copy,_7e[i],_7f)){
if(_7f){
Array.add(_7d,{type:_7e[i],value:_7f});
}
}
}
return _7d;
};
Telerik.Web.GenericDragDropManager=function(){
Telerik.Web.GenericDragDropManager.initializeBase(this);
this._dropTargets=null;
this._scrollEdgeConst=40;
this._scrollByConst=10;
this._scroller=null;
this._scrollDeltaX=0;
this._scrollDeltaY=0;
this._activeDragVisual=null;
this._activeContext=null;
this._activeDragSource=null;
this._oldOffset=null;
this._potentialTarget=null;
this._mouseUpHandler=null;
this._mouseMoveHandler=null;
this._keyPressHandler=null;
this._scrollerTickHandler=null;
this._areEventsWired=false;
};
Telerik.Web.GenericDragDropManager.prototype={initialize:function(){
Telerik.Web.GenericDragDropManager.callBaseMethod(this,"initialize");
this._mouseUpHandler=Function.createDelegate(this,this._onMouseUp);
this._mouseMoveHandler=Function.createDelegate(this,this._onMouseMove);
this._keyPressHandler=Function.createDelegate(this,this._onKeyPress);
this._scrollerTickHandler=Function.createDelegate(this,this._onScrollerTick);
if(Sys.Browser.agent===Sys.Browser.Safari){
Telerik.Web.GenericDragDropManager.__loadSafariCompatLayer(this);
}
this._scroller=new Telerik.Web.Timer();
this._scroller.set_interval(10);
this._scroller.add_tick(this._scrollerTickHandler);
},startDragDrop:function(_82,_83,_84){
this._activeDragSource=_82;
this._activeDragVisual=_83;
this._activeContext=_84;
Telerik.Web.GenericDragDropManager.callBaseMethod(this,"startDragDrop",[_82,_83,_84]);
},_stopDragDrop:function(_85){
this._scroller.set_enabled(false);
Telerik.Web.GenericDragDropManager.callBaseMethod(this,"_stopDragDrop",[_85]);
},_drag:function(_86){
Telerik.Web.GenericDragDropManager.callBaseMethod(this,"_drag",[_86]);
this._autoScroll();
},_wireEvents:function(){
$addHandler(document,"mouseup",this._mouseUpHandler);
$addHandler(document,"mousemove",this._mouseMoveHandler);
$addHandler(document,"keypress",this._keyPressHandler);
this._areEventsWired=true;
},_unwireEvents:function(){
if(!this._areEventsWired){
return;
}
$removeHandler(document,"keypress",this._keyPressHandler);
$removeHandler(document,"mousemove",this._mouseMoveHandler);
$removeHandler(document,"mouseup",this._mouseUpHandler);
this._areEventsWired=false;
},_wireDropTargetEvents:function(_87){
},_unwireDropTargetEvents:function(_88){
},_onMouseUp:function(e){
window._event=e;
this._stopDragDrop(false);
},_onMouseMove:function(e){
window._event=e;
this._drag();
},_onKeyPress:function(e){
window._event=e;
var k=e.keyCode?e.keyCode:e.rawEvent.keyCode;
if(k==27){
this._stopDragDrop(true);
}
},_autoScroll:function(){
var ev=window._event;
var _8e=this.getBrowserRectangle();
if(_8e.width>0){
this._scrollDeltaX=this._scrollDeltaY=0;
if(ev.clientX<_8e.x+this._scrollEdgeConst){
this._scrollDeltaX=-this._scrollByConst;
}else{
if(ev.clientX>_8e.width-this._scrollEdgeConst){
this._scrollDeltaX=this._scrollByConst;
}
}
if(ev.clientY<_8e.y+this._scrollEdgeConst){
this._scrollDeltaY=-this._scrollByConst;
}else{
if(ev.clientY>_8e.height-this._scrollEdgeConst){
this._scrollDeltaY=this._scrollByConst;
}
}
if(this._scrollDeltaX!=0||this._scrollDeltaY!=0){
this._scroller.set_enabled(true);
}else{
this._scroller.set_enabled(false);
}
}
},_onScrollerTick:function(){
var _8f=document.body.scrollLeft;
var _90=document.body.scrollTop;
window.scrollBy(this._scrollDeltaX,this._scrollDeltaY);
var _91=document.body.scrollLeft;
var _92=document.body.scrollTop;
var _93=this._activeDragVisual;
var _94={x:parseInt(_93.style.left)+(_91-_8f),y:parseInt(_93.style.top)+(_92-_90)};
$telerik.setLocation(_93,_94);
}};
Telerik.Web.GenericDragDropManager.registerClass("Telerik.Web.GenericDragDropManager",Telerik.Web.IEDragDropManager);
if(Sys.Browser.agent===Sys.Browser.Safari){
Telerik.Web.GenericDragDropManager.__loadSafariCompatLayer=function(ddm){
ddm._getScrollOffset=ddm.getScrollOffset;
ddm.getScrollOffset=function(_96,_97){
return {x:0,y:0};
};
ddm._getBrowserRectangle=ddm.getBrowserRectangle;
ddm.getBrowserRectangle=function(){
var _98=ddm._getBrowserRectangle();
var _99=ddm._getScrollOffset(document.body,true);
return {x:_98.x+_99.x,y:_98.y+_99.y,width:_98.width+_99.x,height:_98.height+_99.y};
};
};
}
Type.registerNamespace("Telerik.Web");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ModalExtender=function(_9a){
this._windowResizeDelegate=null;
this._windowScrollDelegate=null;
this._xCoordinate=-1;
this._yCoordinate=-1;
this._backgroundElement=null;
this._foregroundElement=_9a;
this._saveTabIndexes=new Array();
this._saveDesableSelect=new Array();
this._tagWithTabIndex=new Array("A","AREA","BUTTON","INPUT","OBJECT","SELECT","TEXTAREA","IFRAME");
};
Telerik.Web.UI.ModalExtender.prototype={dispose:function(){
this.hide();
this._backgroundElement=null;
this._foregroundElement=null;
},show:function(){
this._attachWindowHandlers(true);
var _9b=this._getModalOverlay();
this._foregroundElement.parentNode.appendChild(_9b);
_9b.style.zIndex=$telerik.getCurrentStyle(this._foregroundElement,"zIndex",this._foregroundElement.style.zIndex)-1;
_9b.style.display="";
this._disableTab();
this._updatePageLayout();
this._updatePageLayout();
},_storeBrowserPosition:function(){
var _9c=document.body;
var _9d=document.documentElement;
this._browserTop=_9c.scrollTop>_9d.scrollTop?_9c.scrollTop:_9d.scrollTop;
this._browserLeft=_9c.scrollLeft>_9d.scrollLeft?_9c.scrollTop:_9d.scrollLeft;
},_restoreBrowserPosition:function(_9e,top){
try{
if(null==_9e){
_9e=this._browserLeft;
}
if(null==top){
top=this._browserTop;
}
var _a0=document.body;
var _a1=document.documentElement;
_a0.scrollTop=top;
_a0.scrollLeft=_9e;
_a1.scrollTop=top;
_a1.scrollLeft=_9e;
}
catch(ex){
}
},hide:function(){
this._backgroundElement.style.display="none";
this._restoreTab();
this._attachWindowHandlers(false);
},_enableScroll:function(_a2){
if(_a2){
document.body.style.overflow=null!=this._overflow?this._overflow:"";
document.documentElement.style.overflow=null!=this._documentOverflow?this._documentOverflow:"";
document.body.style.marginRight="";
}else{
this._overflow=document.body.style.overflow;
document.body.style.overflow="hidden";
this._documentOverflow=document.documentElement.style.overflow;
document.documentElement.style.overflow="hidden";
document.body.style.marginRight="18px";
}
},_getModalOverlay:function(){
if(!this._backgroundElement){
var div=document.createElement("div");
div.style.display="none";
div.style.position="absolute";
div.style.left="0px";
div.style.top="0px";
div.style.zIndex=10000;
div.style.backgroundColor="#aaaaaa";
div.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=50)";
div.style.opacity=".5";
div.style.mozOpacity=".5";
div.className="TelerikModalOverlay";
this._backgroundElement=div;
}
return this._backgroundElement;
},_attachWindowHandlers:function(_a4){
var _a5=window;
if(true==_a4){
this._windowResizeDelegate=Function.createDelegate(this,this._updatePageLayout);
$addHandler(_a5,"resize",this._windowResizeDelegate);
this._windowScrollDelegate=Function.createDelegate(this,this._updatePageLayout);
$addHandler(_a5,"scroll",this._windowScrollDelegate);
}else{
if(this._windowResizeDelegate){
$removeHandler(_a5,"resize",this._windowResizeDelegate);
}
this._windowResizeDelegate=null;
if(this._windowScrollDelegate){
$removeHandler(_a5,"scroll",this._windowScrollDelegate);
}
this._windowScrollDelegate=null;
}
},_updatePageLayout:function(){
var _a6=(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);
var _a7=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);
var _a8=$telerik.getClientBounds();
var _a9=_a8.width;
var _aa=_a8.height;
var _ab=this._getModalOverlay();
_ab.style.width=Math.max(Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),_a9)+"px";
_ab.style.height=Math.max(Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),_aa)+"px";
},_disableTab:function(){
var i=0;
var _ad;
var _ae=new Array();
Array.clear(this._saveTabIndexes);
for(var j=0;j<this._tagWithTabIndex.length;j++){
_ad=this._foregroundElement.getElementsByTagName(this._tagWithTabIndex[j]);
for(var k=0;k<_ad.length;k++){
_ae[i]=_ad[k];
i++;
}
}
i=0;
for(var j=0;j<this._tagWithTabIndex.length;j++){
_ad=document.getElementsByTagName(this._tagWithTabIndex[j]);
for(var k=0;k<_ad.length;k++){
if(Array.indexOf(_ae,_ad[k])==-1){
this._saveTabIndexes[i]={tag:_ad[k],index:_ad[k].tabIndex};
_ad[k].tabIndex="-1";
i++;
}
}
}
i=0;
if((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7)){
var _b1=new Array();
for(var j=0;j<this._tagWithTabIndex.length;j++){
_ad=this._foregroundElement.getElementsByTagName("SELECT");
for(var k=0;k<_ad.length;k++){
_b1[i]=_ad[k];
i++;
}
}
i=0;
Array.clear(this._saveDesableSelect);
_ad=document.getElementsByTagName("SELECT");
for(var k=0;k<_ad.length;k++){
if(Array.indexOf(_b1,_ad[k])==-1){
this._saveDesableSelect[i]={tag:_ad[k],visib:$telerik.getCurrentStyle(_ad[k],"visibility")};
_ad[k].style.visibility="hidden";
i++;
}
}
}
},_restoreTab:function(){
for(var i=0;i<this._saveTabIndexes.length;i++){
this._saveTabIndexes[i].tag.tabIndex=this._saveTabIndexes[i].index;
}
if((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7)){
for(var k=0;k<this._saveDesableSelect.length;k++){
this._saveDesableSelect[k].tag.style.visibility=this._saveDesableSelect[k].visib;
}
}
}};
Telerik.Web.UI.ModalExtender.registerClass("Telerik.Web.UI.ModalExtender",null);
Type.registerNamespace("Telerik.Web");
Telerik.Web.PositioningMode=function(){
throw Error.invalidOperation();
};
Telerik.Web.PositioningMode.prototype={Absolute:0,Center:1,BottomLeft:2,BottomRight:3,TopLeft:4,TopRight:5};
Telerik.Web.PositioningMode.registerEnum("Telerik.Web.PositioningMode");
Telerik.Web.PopupBehavior=function(_b4){
Telerik.Web.PopupBehavior.initializeBase(this,[_b4]);
this._x=0;
this._y=0;
this._positioningMode=Telerik.Web.PositioningMode.Absolute;
this._parentElement=null;
this._parentElementID=null;
this._moveHandler=null;
this._firstPopup=true;
this._originalParent=null;
this._overlay=false;
this._keepInScreenBounds=true;
this._manageVisibility=true;
};
Telerik.Web.PopupBehavior._ie6pinnedList={};
Telerik.Web.PopupBehavior.prototype={getPageOffset:function(){
var _b5={x:(document.documentElement.scrollLeft||document.body.scrollLeft),y:(document.documentElement.scrollTop||document.body.scrollTop)};
return _b5;
},pin:function(_b6){
var _b7=this.get_element();
var _b8=this.getPageOffset();
if($telerik.isIE6){
var id=this.get_id();
if(_b6){
if(Telerik.Web.PopupBehavior._ie6pinnedList[id]){
return;
}
var _ba=$telerik.getBounds(_b7);
Telerik.Web.PopupBehavior._ie6pinnedList[id]=window.setInterval(Function.createDelegate(this,function(){
var _bb=this.getPageOffset();
var x=_ba.x-_b8.x+_bb.x;
var y=_ba.y-_b8.y+_bb.y;
var _be=this.get_parentElement();
this.set_parentElement(document.documentElement);
this.set_x(x);
this.set_y(y);
this.show();
this.set_parentElement(_be);
}),130);
}else{
var _bf=Telerik.Web.PopupBehavior._ie6pinnedList[id];
if(_bf){
window.clearInterval(_bf);
}
delete Telerik.Web.PopupBehavior._ie6pinnedList[id];
}
}else{
var _c0=_b6?"fixed":"absolute";
if(_b7.style.position==_c0){
return;
}
var _ba=$telerik.getBounds(_b7);
if(_b6&&(_b8.x||_b8.y)){
this._x=_ba.x-_b8.x;
this._y=_ba.y-_b8.y;
$telerik.setLocation(_b7,{x:this._x,y:this._y});
}
_b7.style.position=_c0;
}
},center:function(){
var _c1=this.get_element();
if(this._manageVisibility){
$telerik.setVisible(_c1,true);
}
var _c2=$telerik.getClientBounds();
var _c3=$telerik.getBounds(_c1);
var x=parseInt((_c2.width-_c3.width)/2);
var y=parseInt((_c2.height-_c3.height)/2);
var _c6=this.get_parentElement();
this.set_parentElement(document.documentElement);
this.set_x(x);
this.set_y(y);
this.show();
this.set_parentElement(_c6);
},get_parentElement:function(){
if(!this._parentElement&&this._parentElementID){
this.set_parentElement($get(this._parentElementID));
Sys.Debug.assert(this._parentElement!=null,String.format("Couldn't find parent element \"{0}\"",this._parentElementID));
}
return this._parentElement;
},set_parentElement:function(_c7){
this._parentElement=_c7;
},get_parentElementID:function(){
if(this._parentElement){
return this._parentElement.id;
}
return this._parentElementID;
},set_parentElementID:function(_c8){
this._parentElementID=_c8;
if(this.get_isInitialized()){
this.set_parentElement($get(_c8));
}
},get_positioningMode:function(){
return this._positioningMode;
},set_positioningMode:function(_c9){
this._positioningMode=_c9;
},get_x:function(){
return this._x;
},set_x:function(_ca){
if(_ca!=this._x){
this._x=_ca;
if($telerik.getVisible(this.get_element())&&this._manageVisibility){
this.show();
}
}
},get_y:function(){
return this._y;
},set_y:function(_cb){
if(_cb!=this._y){
this._y=_cb;
if($telerik.getVisible(this.get_element())&&this._manageVisibility){
this.show();
}
}
},get_overlay:function(){
return this._overlay;
},set_overlay:function(_cc){
this._overlay=_cc;
this._attachWindowHandlers(false);
if(this._overlay){
this._attachWindowHandlers(true);
}else{
if(!((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7))){
var elt=this.get_element();
var _ce=elt._hideWindowedElementsIFrame;
if(_ce){
_ce.style.display="none";
}
}
}
},get_manageVisibility:function(){
return this._manageVisibility;
},set_manageVisibility:function(_cf){
this._manageVisibility=_cf;
},get_keepInScreenBounds:function(){
return this._keepInScreenBounds;
},set_keepInScreenBounds:function(_d0){
this._keepInScreenBounds=_d0;
},hide:function(){
var elt=this.get_element();
if(this._manageVisibility){
$telerik.setVisible(elt,false);
}
if(elt.originalWidth){
elt.style.width=elt.originalWidth+"px";
elt.originalWidth=null;
}
if(Sys.Browser.agent===Sys.Browser.InternetExplorer||this._overlay){
var _d2=elt._hideWindowedElementsIFrame;
if(_d2){
_d2.style.display="none";
}
}
},show:function(){
var elt=this.get_element();
if($telerik.isFirefox){
var doc=document.documentElement;
var _d5=$telerik.getCurrentStyle(doc,"overflow");
if("hidden"==_d5){
elt.style.left=doc.scrollLeft+"px";
elt.style.top=doc.scrollLeft+"px";
}
}
if(this._manageVisibility){
$telerik.setVisible(elt,true);
}
var _d6=elt.offsetParent||document.documentElement;
var _d7;
var _d8;
if(this._parentElement){
_d8=$telerik.getBounds(this._parentElement);
_d7={x:_d8.x,y:_d8.y};
}else{
_d8=$telerik.getBounds(_d6);
_d7={x:0,y:0};
}
var _d9=elt.offsetWidth-(elt.clientLeft?elt.clientLeft*2:0);
var _da=elt.offsetHeight-(elt.clientTop?elt.clientTop*2:0);
var _db;
switch(this._positioningMode){
case Telerik.Web.PositioningMode.Center:
_db={x:Math.round(_d8.width/2-_d9/2),y:Math.round(_d8.height/2-_da/2)};
break;
case Telerik.Web.PositioningMode.BottomLeft:
_db={x:0,y:_d8.height};
break;
case Telerik.Web.PositioningMode.BottomRight:
_db={x:_d8.width-_d9,y:_d8.height};
break;
case Telerik.Web.PositioningMode.TopLeft:
_db={x:0,y:-elt.offsetHeight};
break;
case Telerik.Web.PositioningMode.TopRight:
_db={x:_d8.width-_d9,y:-elt.offsetHeight};
break;
default:
_db={x:0,y:0};
}
_db.x+=this._x+_d7.x;
_db.y+=this._y+_d7.y;
$telerik.setLocation(elt,_db);
if(this._firstPopup){
elt.style.width=_d9+"px";
}
this._firstPopup=false;
var _dc=$telerik.getBounds(elt);
var _dd=this._getViewportBounds();
if(this._keepInScreenBounds){
var _de=false;
var _df=self.innerWidth?self.innerWidth:document.documentElement.clientWidth;
if(!_df){
_df=document.body.clientWidth;
}
if(_dc.x+_dc.width-_dd.scrollLeft>_df){
_db.x-=_dc.x+_dc.width-_df+_dd.scrollLeft;
_de=true;
}
if(_dc.x<0){
_db.x-=_dc.x;
_de=true;
}
if(_dc.y<0){
_db.y-=_dc.y;
_de=true;
}
if(_dd.height<_dc.y+_dc.height-_dd.scrollTop){
if(_dd.height-_dc.height>0){
_db.y=_dd.height-_dc.height+_dd.scrollTop;
_de=true;
}
}
if(_de){
$telerik.setLocation(elt,_db);
_dc=$telerik.getBounds(elt);
}
}
elt.zIndex=1000;
if(((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7))||this._overlay){
var _e0=elt._hideWindowedElementsIFrame;
if(!_e0){
_e0=document.createElement("iframe");
_e0.src="javascript:'<html></html>';";
_e0.style.position="absolute";
_e0.style.display="none";
_e0.scrolling="no";
_e0.frameBorder="0";
_e0.tabIndex="-1";
_e0.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
elt.parentNode.insertBefore(_e0,elt);
elt._hideWindowedElementsIFrame=_e0;
this._moveHandler=Function.createDelegate(this,this._onMove);
Sys.UI.DomEvent.addHandler(elt,"move",this._moveHandler);
}
$telerik.setBounds(_e0,_dc);
if(Sys.Browser.agent===Sys.Browser.Firefox){
_e0.style.top=parseInt(_dc.y)-_dd.scrollTop+"px";
_e0.style.left=parseInt(_dc.x)-_dd.scrollLeft+"px";
_e0.style.position="fixed";
}
if($telerik.quirksMode){
return;
}
_e0.style.display=elt.style.display;
if(elt.currentStyle&&elt.currentStyle.zIndex){
_e0.style.zIndex=elt.currentStyle.zIndex;
}else{
if(elt.style.zIndex){
_e0.style.zIndex=elt.style.zIndex;
}
}
}
},_getViewportBounds:function(){
var _e1=$telerik.getClientBounds();
var _e2=document.documentElement.scrollLeft||document.body.scrollLeft;
var _e3=document.documentElement.scrollTop||document.body.scrollTop;
_e1.scrollLeft=_e2;
_e1.scrollTop=_e3;
return _e1;
},_setCoordinates:function(x,y){
var _e6=false;
if(x!=this._x){
this._x=x;
_e6=true;
}
if(y!=this._y){
this._y=y;
_e6=true;
}
if($telerik.getVisible(this.get_element())&&_e6&&this._manageVisibility){
this.show();
}
},initialize:function(){
Telerik.Web.PopupBehavior.callBaseMethod(this,"initialize");
this.hide();
this.get_element().style.position="absolute";
},dispose:function(){
var elt=this.get_element();
if(elt){
if(this._moveHandler){
Sys.UI.DomEvent.removeHandler(elt,"move",this._moveHandler);
this._moveHandler=null;
}
this._attachWindowHandlers(false);
if($telerik.getVisible(elt)&&this._manageVisibility){
this.hide();
}
if(this._originalParent){
elt.parentNode.removeChild(elt);
this._originalParent.appendChild(elt);
this._originalParent=null;
}
}
this._parentElement=null;
Telerik.Web.PopupBehavior.callBaseMethod(this,"dispose");
},_onMove:function(){
var elt=this.get_element();
var _e9=elt._hideWindowedElementsIFrame;
if(_e9){
if(Sys.Browser.agent===Sys.Browser.Firefox){
var _ea=this._getViewportBounds();
_e9.style.top=parseInt(elt.style.top)-_ea.scrollTop+"px";
_e9.style.left=parseInt(elt.style.left)-_ea.scrollLeft+"px";
_e9.style.position="fixed";
}else{
_e9.style.top=elt.style.top;
_e9.style.left=elt.style.left;
}
}
},_handleElementResize:function(){
var elt=this.get_element();
var _ec=elt._hideWindowedElementsIFrame;
if(_ec){
var _ed=$telerik.getBounds(elt);
$telerik.setBounds(_ec,_ed);
}
},_attachWindowHandlers:function(_ee){
if(!Sys.Browser.agent===Sys.Browser.Firefox){
return;
}
var _ef=window;
if(true==_ee){
this._windowResizeDelegate=Function.createDelegate(this,this._onMove);
$addHandler(_ef,"resize",this._windowResizeDelegate);
this._windowScrollDelegate=Function.createDelegate(this,this._onMove);
$addHandler(_ef,"scroll",this._windowScrollDelegate);
}else{
if(this._windowResizeDelegate){
$removeHandler(_ef,"resize",this._windowResizeDelegate);
}
this._windowResizeDelegate=null;
if(this._windowScrollDelegate){
$removeHandler(_ef,"scroll",this._windowScrollDelegate);
}
this._windowScrollDelegate=null;
}
}};
Telerik.Web.PopupBehavior.registerClass("Telerik.Web.PopupBehavior",Telerik.Web.BehaviorBase);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ResizeExtender=function(_f0,_f1,_f2,_f3,doc){
this._document=doc?doc:document;
this._documentMouseMoveDelegate=null;
this._documentMouseUpDelegate=null;
this._element=null;
this._tableElement=null;
this._enabled=true;
this._jsOwner=null;
this._saveDelegates={};
this.makeResizable(_f0,_f1,_f2,_f3);
};
Telerik.Web.UI.ResizeExtender.prototype={dispose:function(){
this._attachDocumentHandlers(false);
this._configureHandleElements(false);
this._jsOwner=null;
},enable:function(_f5){
this._enabled=_f5;
},makeResizable:function(_f6,_f7,_f8,_f9){
if(!_f7){
return;
}
if(this._element){
alert("Element "+_f7.getAttribute("id")+" cannot be made resizable, as the resizeExtender already has the element "+this._element.getAttribute("id")+" associated with it. You must create a new extender resizer object");
return;
}
this._jsOwner=_f6;
this._element=_f7;
this._tableElement=_f9;
this._resizeHandles=_f8;
this._startX=0;
this._startY=0;
this._stopResize=true;
this._attachDocumentHandlers(true);
this._configureHandleElements(true);
},_onResizeStart:function(){
this._clearSelection();
this._setIframesVisible(false);
this._raiseEvent("ResizeStart");
},_onResizing:function(_fa){
return this._raiseEvent("Resizing",_fa);
},_onResize:function(){
var dir=this._resizeDir;
if(dir.south||dir.north){
var _fc=this._element.style.height;
var _fd=this._tableElement;
if(_fd){
_fd.style.height=_fc;
this._fixIeHeight(_fd,_fc);
}
}
this._raiseEvent("Resize");
},_onResizeEnd:function(){
this._clearSelection();
this._setIframesVisible(true);
this._raiseEvent("ResizeEnd");
},_raiseEvent:function(_fe,ev){
if(this._jsOwner&&this._jsOwner["on"+_fe]){
if(!ev){
ev=new Sys.EventArgs();
}else{
if(_fe=="Resize"){
ev=this._resizeDir;
}else{
if(_fe=="Resizing"){
var ev=this._getProposedBounds(ev);
}
}
}
return this._jsOwner["on"+_fe](ev);
}
return true;
},_getProposedBounds:function(b1){
var b2=$telerik.getBounds(this._element);
return {x:b1.x||b2.x,y:b1.y||b2.y,width:b1.width||b2.width,height:b1.height||b2.height};
},_resize:function(e){
if(!this._enabled||this._stopResize){
return false;
}
var _103=0;
var _104=0;
var _105=0;
var nTop=0;
var _107=this._originalBounds;
if(this._resizeDir.move){
_105=_107.x+(e.clientX-this._startX);
nTop=_107.y+(e.clientY-this._startY);
}else{
if(this._resizeDir.east){
_103=_107.width+(e.clientX-this._startX);
}else{
if(this._resizeDir.west){
_105=e.clientX;
_103=_107.width-(e.clientX-this._startX);
}
}
if(this._resizeDir.south){
_104=_107.height+(e.clientY-this._startY);
}else{
if(this._resizeDir.north){
nTop=e.clientY;
_104=_107.height-(e.clientY-this._startY);
}
}
}
if(this._offsetLocation){
_105-=this._offsetLocation.x;
nTop-=this._offsetLocation.y;
}
var _108=this._onResizing(new Sys.UI.Bounds(_105,nTop,_103,_104));
if(false==_108){
return true;
}
if(_105>0){
this._element.style.left=_105+"px";
}
if(nTop>0){
this._element.style.top=nTop+"px";
}
if(_103>0){
this._element.style.width=_103+"px";
}
if(_104>0){
this._element.style.height=_104+"px";
}
this._onResize();
return true;
},_storeStartCoords:function(e){
if(!this._enabled){
return;
}
this._stopResize=false;
this._startX=e.clientX;
this._startY=e.clientY;
var _10a=$telerik.getBounds(this._element);
this._originalBounds=_10a;
var _10b=("relative"==$telerik.getCurrentStyle(this._element.parentNode,"position"));
this._offsetLocation=(_10b?$telerik.getLocation(this._element.parentNode):null);
var _10c=e.target?e.target:e.srcElement;
if(_10c&&_10c.type==3){
_10c=_10c.parentNode;
}
this._resizeType=$telerik.getCurrentStyle(_10c,"cursor");
this._resizeDir={north:this._resizeType.match(/n.?-/)?1:0,east:this._resizeType.match(/e-/)?1:0,south:this._resizeType.match(/s.?-/)?1:0,west:this._resizeType.match(/w-/)?1:0,move:this._resizeType.match(/move/)?1:0};
this._onResizeStart();
},_setIframesVisible:function(_10d){
var _10e=this._document.getElementsByTagName("IFRAME");
for(var i=0;i<_10e.length;i++){
_10e[i].style.visibility=_10d?"":"hidden";
}
},_configureHandleElements:function(_110){
var _111=["nw","n","ne","w","e","sw","s","se","move"];
for(var i=0;i<_111.length;i++){
var _113=_111[i];
var _114=this._resizeHandles[_113];
if(_114){
if(_114 instanceof Array){
for(var j=0;j<_114.length;j++){
this._configureHandle("id"+i+"_"+j,_110,_114[j],_113);
}
}else{
this._configureHandle("id"+i,_110,_114,_113);
}
}
}
if(!_110){
this._saveDelegates={};
}
},_configureHandle:function(_116,_117,_118,_119){
if(_117){
var _11a=Function.createDelegate(this,this._onHandleMouseDown);
$telerik.addExternalHandler(_118,"mousedown",_11a);
this._saveDelegates[_116]={delegate:_11a,element:_118};
var _11b=(_119=="move"?"move":_119+"-resize");
_118.style.cursor=_11b;
}else{
$telerik.removeExternalHandler(_118,"mousedown",this._saveDelegates[_116].delegate);
_118.style.cursor="";
}
},_attachDocumentHandlers:function(_11c){
var _11d=this._document;
if(true==_11c){
this._documentMouseMoveDelegate=Function.createDelegate(this,this._onDocumentMouseMove);
$telerik.addExternalHandler(_11d,"mousemove",this._documentMouseMoveDelegate);
this._documentMouseUpDelegate=Function.createDelegate(this,this._onDocumentMouseUp);
$telerik.addExternalHandler(_11d,"mouseup",this._documentMouseUpDelegate);
}else{
if(this._documentMouseMoveDelegate){
$telerik.removeExternalHandler(_11d,"mousemove",this._documentMouseMoveDelegate);
}
this._documentMouseMoveDelegate=null;
if(this._documentMouseUpDelegate){
$telerik.removeExternalHandler(_11d,"mouseup",this._documentMouseUpDelegate);
}
this._documentMouseUpDelegate=null;
}
},_onDocumentMouseMove:function(e){
var _11f=this._resize(e);
if(_11f){
return $telerik.cancelRawEvent(e);
}
},_onDocumentMouseUp:function(e){
var _121=!this._stopResize;
this._stopResize=true;
if(_121){
this._onResizeEnd();
}
},_onHandleMouseDown:function(e){
this._storeStartCoords(e);
return $telerik.cancelRawEvent(e);
},_clearSelection:function(){
if(this._document.selection&&this._document.selection.empty){
this._document.selection.empty();
}
},_fixIeHeight:function(_123,_124){
if("CSS1Compat"==document.compatMode){
var _125=(_123.offsetHeight-parseInt(_124));
if(_125>0){
var _126=(parseInt(_123.style.height)-_125);
if(_126>0){
_123.style.height=_126+"px";
}
}
}
}};
Telerik.Web.UI.ResizeExtender.registerClass("Telerik.Web.UI.ResizeExtender",null);


/* END Telerik.Web.UI.Common.Popup.PopupScripts.js */
/* START Telerik.Web.UI.ToolTip.RadToolTip.js */
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadToolTipControllerClass=function(){
this._tooltipToShow=null;
this._activeToolTip=null;
this._registerGlobalBodyEventHandlers();
};
Telerik.Web.UI.RadToolTipControllerClass.prototype={_registerGlobalBodyEventHandlers:function(){
var _1=Function.createDelegate(this,function(e){
if(e.keyCode==27){
if(this._activeToolTip&&!this._activeToolTip.isModal()){
this._hideCurrentToolTipUnconditionally();
}
}
});
$addHandler(document.body,"keydown",_1);
var _3=Function.createDelegate(this,function(e){
this._hideOnBodyClick(e);
});
$addHandler(document.body,"click",_3);
Sys.Application.add_unload(function(){
$removeHandler(document.body,"keydown",_1);
$removeHandler(document.body,"click",_3);
});
},_hideOnBodyClick:function(e){
var _6=false;
if(this._activeToolTip!=null&&!this._activeToolTip.isModal()){
var _7=this._activeToolTip;
if(_7._isMouseOverElement(e,_7._tableElement)){
return;
}
_6=this._activeToolTip.hide(true);
}
if(_6){
this._activeToolTip=null;
}
},_cancelLastShowRequest:function(){
if(this._tooltipToShow){
var _8=this._tooltipToShow;
this._tooltipToShow=null;
_8.cancelShowDelay();
}
},_hideCurrentToolTipUnconditionally:function(){
this._cancelLastShowRequest();
if(this._activeToolTip!=null){
this._activeToolTip.hide();
}
this._activeToolTip=null;
},requestShow:function(_9){
this._cancelLastShowRequest();
this._tooltipToShow=_9;
},cancelSpecificShowRequest:function(_a){
if(this._tooltipToShow==_a){
this._cancelLastShowRequest();
}
},showTooltip:function(_b){
if(!_b||_b.isVisible()){
return;
}
this._cancelLastShowRequest();
this.set_activeToolTip(_b);
_b.show();
},notifyToolTipClosed:function(_c){
if(this._activeToolTip==_c){
this._activeToolTip=null;
}
},set_activeToolTip:function(_d){
if(_d!=this._activeToolTip){
this._hideCurrentToolTipUnconditionally();
}
this._activeToolTip=_d;
},get_activeToolTip:function(){
return this._activeToolTip;
},getInstance:function(){
return this;
}};
Telerik.Web.UI.RadToolTipControllerClass.registerClass("Telerik.Web.UI.RadToolTipControllerClass",null);
if(!Telerik.Web.UI.RadToolTipController){
Telerik.Web.UI.RadToolTipController=new Telerik.Web.UI.RadToolTipControllerClass();
}
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadToolTip=function(_e){
Telerik.Web.UI.RadToolTip.initializeBase(this,[_e]);
this._offsetX=0;
this._offsetY=6;
this._position=Telerik.Web.UI.ToolTipPosition.BottomCenter;
this._horizontalPosition=null;
this._verticalPosition=null;
this._targetControlID=null;
this._serverTargetControlID=null;
this._serverValue="";
this._formID=null;
this._targetControl=null;
this._popupElement=null;
this._tableElement=null;
this._contentCell=null;
this._titleElement=null;
this._contentElement=null;
this._calloutElement=null;
this._closeLink=null;
this._popupBehavior=null;
this._popupVisible=false;
this._modal=false;
this._onModalShowHandler=null;
this._onModalCloseHandler=null;
this._skin="Default";
this._title="";
this._text="";
this._width="";
this._height="";
this._relativeTo=Telerik.Web.UI.ToolTipRelativeDisplay.Mouse;
this._contentScrolling=Telerik.Web.UI.ToolTipScrolling.Auto;
this._showEvent=Telerik.Web.UI.ToolTipShowEvent.OnMouseOver;
this._visibleOnPageLoad=false;
this._sticky=false;
this._manualClose=false;
this._mouseTrailing=false;
this._showCallout=true;
this._showDelayRef=null;
this._autoCloseRef=null;
this._showDelay=300;
this._autoCloseDelay=2000;
this._hideDelay=100;
this._animation=Telerik.Web.UI.ToolTipAnimation.None;
this._tooltipAnimation=null;
this._zIndex=8000;
};
Telerik.Web.UI.RadToolTip.getCurrent=function(){
var _f=Telerik.Web.UI.RadToolTipController.getInstance();
if(!_f){
return null;
}
return _f.get_activeToolTip();
};
Telerik.Web.UI.RadToolTip.prototype={get_zIndex:function(){
return this._zIndex;
},set_zIndex:function(_10){
var _11=parseInt(_10);
if(isNaN(_10)){
return;
}
if(this._zIndex!=_10){
this._zIndex=_10;
}
},initialize:function(){
Telerik.Web.UI.RadToolTip.callBaseMethod(this,"initialize");
this.set_position(this._position);
if(this._visibleOnPageLoad){
this.show();
}
},dispose:function(){
if(this._tooltipAnimation){
this._tooltipAnimation.dispose();
}
if(this._popupBehavior){
this._popupBehavior.dispose();
this._popupBehavior=null;
}
this._registerPopupHandlers(false);
this._registerMouseHandlers(this._targetControl,false);
this._makeModal(false);
if(this._closeLinkHandler&&this._closeLink){
$removeHandler(this._closeLink,"click",this._closeLinkHandler);
this._closeLinkHandler=null;
}
if(this._popupElement){
var _12=this.get_id();
if(_12){
var _13=$get(_12);
if(_13){
_13.appendChild(this._popupElement);
}
}
}
Telerik.Web.UI.RadToolTip.callBaseMethod(this,"dispose");
},isCreated:function(){
return this._popupElement!=null;
},requestShow:function(){
this._resetShowDelay();
},hide:function(_14){
if(true==_14&&this._manualClose){
return false;
}
this._hide();
return true;
},clone:function(_15,_16){
if(!_15){
alert("clone error: No target element specified");
return;
}
var evs=this._getEventsParameter();
var _18=this._getPropertiesParameter();
_18["targetControlID"]=_15.getAttribute("id");
if(!_18["targetControlID"]){
_18["targetControl"]=_15;
}
var _19=document.createElement("SPAN");
if(_16){
_19.setAttribute("id",_16);
}
var _1a=$create(Telerik.Web.UI.RadToolTip,_18,evs,null,_19);
return _1a;
},show:function(){
this._createUI();
var _1b=new Sys.CancelEventArgs();
this.raiseEvent("beforeShow",_1b);
if(_1b.get_cancel()){
return;
}
if($telerik.isIE6){
var _1c=this;
window.setTimeout(function(){
_1c._registerPopupHandlers(true);
},200);
}else{
this._registerPopupHandlers(true);
}
this._getToolTipController().set_activeToolTip(this);
this._popupBehavior.pin(false);
window.setTimeout(Function.createDelegate(this,function(){
if(this._animation==Telerik.Web.UI.ToolTipAnimation.None){
this._show();
this._afterShow();
}else{
this._playAnimation();
}
}),0);
},showLoadingMessage:function(_1d){
if(_1d){
var div=document.createElement("DIV");
div.className=this._getFullSkinName()+" LoadingSign";
this._contentCell.appendChild(div);
}else{
this._contentCell.innerHTML="";
}
},isModal:function(){
return this._modal;
},set_contentElement:function(_1f){
this._contentCell.innerHTML="";
if(_1f.parentNode&&_1f.parentNode.removeChild){
_1f.parentNode.removeChild(_1f);
}
this._contentCell.appendChild(_1f);
_1f.style.display="";
this._contentElement=_1f;
},get_contentElement:function(){
return this._contentElement;
},set_content:function(_20){
var _21=document.createElement("DIV");
_21.innerHTML=_20;
this._text=_20;
if(this.isCreated()){
this.set_contentElement(_21);
}
},get_content:function(){
return this._contentElement?this._contentElement.innerHTML:"";
},cancelAutoCloseDelay:function(){
if(this._autoCloseRef){
window.clearTimeout(this._autoCloseRef);
this._autoCloseRef=0;
}
},cancelShowDelay:function(){
if(this._showDelayRef){
window.clearTimeout(this._showDelayRef);
this._showDelayRef=null;
}
this._getToolTipController().cancelSpecificShowRequest(this);
},_getToolTipController:function(){
return Telerik.Web.UI.RadToolTipController.getInstance();
},_resetAutoCloseDelay:function(){
this.cancelAutoCloseDelay();
if(this._manualClose||this._sticky){
return;
}
if(this._autoCloseDelay){
var _22=this;
this._autoCloseRef=window.setTimeout(function(){
_22.hide(true);
},this._autoCloseDelay);
}
},_resetShowDelay:function(){
this.cancelShowDelay();
var _23=this;
var _24=function(){
_23._getToolTipController().showTooltip(_23);
_23.cancelShowDelay();
};
this._showDelayRef=window.setTimeout(_24,this._showDelay);
},_show:function(){
var _25=null;
try{
_25=this.getToolTipBounds();
}
catch(e){
var _26=this;
window.setTimeout(function(){
_26._addToolTipToDocument();
},10);
return;
}
this._setPopupVisible(_25.x,_25.y);
this._resetAutoCloseDelay();
this._popupVisible=true;
},_afterShow:function(){
this._popupBehavior.pin(this._isRelativeToBrowserWindow());
this.raiseEvent("show");
},_hide:function(){
if(this._tooltipAnimation){
this._tooltipAnimation.stop();
}
this.cancelShowDelay();
this.cancelAutoCloseDelay();
var _27=new Sys.CancelEventArgs();
this.raiseEvent("beforeHide",_27);
if(_27.get_cancel()){
return;
}
if(this._tooltipAnimation){
this._tooltipAnimation.play(true);
}else{
this._afterHide();
}
},_afterHide:function(){
try{
if(this._popupBehavior){
this._popupBehavior.hide(true);
this._popupBehavior.pin(false);
}
}
catch(ex){
}
this._popupVisible=false;
this._getToolTipController().notifyToolTipClosed(this);
this.raiseEvent("hide");
this._registerPopupHandlers(false);
},_isRelativeToBrowserWindow:function(){
if(!this._targetControl||this._relativeTo==Telerik.Web.UI.ToolTipRelativeDisplay.BrowserWindow){
return true;
}
return false;
},_playAnimation:function(){
var _28=function(){
var _29=this.controller;
var _2a=_29.getToolTipBounds();
_29._setPopupVisible(_2a.x,_2a.y);
var _2b=$telerik.getBounds(_29._popupElement);
_29._popupBehavior.hide();
this.set_endBounds(_2b);
};
if(!this._tooltipAnimation){
var pos=this._position;
var vp=this._verticalPosition;
var _2e=this._isRelativeToBrowserWindow();
if(_2e&&this._verticalPosition!=2){
vp=(this._verticalPosition==1?3:1);
pos=parseInt(vp+""+this._horizontalPosition);
}
var _2f=_2e?document.documentElement:this._targetControl;
if(this._animation==Telerik.Web.UI.ToolTipAnimation.Fade){
this._tooltipAnimation=new Telerik.Web.UI.Animations.FadeAnimation(this,null,null,this._popupElement,this._position,_2f);
this._tooltipAnimation.onShowStart=function(){
this.controller._show();
};
}else{
if(this._animation==Telerik.Web.UI.ToolTipAnimation.FlyIn){
this._tooltipAnimation=new Telerik.Web.UI.Animations.FlyInAnimation(this,null,null,this._popupElement,this._position,_2f);
this._tooltipAnimation.onShowStart=_28;
}else{
if(this._animation==Telerik.Web.UI.ToolTipAnimation.Slide){
this._tooltipAnimation=new Telerik.Web.UI.Animations.SlideAnimation(this,null,null,this._popupElement,pos,_2f);
this._tooltipAnimation.onShowStart=_28;
}else{
if(this._animation==Telerik.Web.UI.ToolTipAnimation.Resize){
if(_2e&&this._horizontalPosition!=2){
var hp=(this._horizontalPosition==1?3:1);
pos=parseInt(vp+""+hp);
}
this._tooltipAnimation=new Telerik.Web.UI.Animations.ResizeAnimation(this,0.2,50,this._popupElement,pos,_2f);
this._tooltipAnimation.onShowStart=_28;
}
}
}
}
}
if(this._tooltipAnimation){
if(this._isRelativeToBrowserWindow()){
this._documentOverflowX=document.documentElement.style.overflowX;
document.documentElement.style.overflowX="hidden";
}
this._tooltipAnimation.onShowEnd=function(){
this.controller._show();
if(null!=this.controller._documentOverflowX){
document.documentElement.style.overflowX=this.controller._documentOverflowX;
this.controller._documentOverflowX=null;
}
this.controller._afterShow();
};
this._tooltipAnimation.onHideEnd=function(){
this.controller._afterHide();
};
this._tooltipAnimation.play();
}
},_makeModal:function(_31){
if(this._onModalShowHandler){
this.remove_show(this._onModalShowHandler);
this._onModalShowHandler=null;
}
if(this._onModalCloseHandler){
this.remove_hide(this._onModalCloseHandler);
this._onModalCloseHandler=null;
}
if(this._modalExtender){
this._modalExtender.dispose();
this._modalExtender=null;
}
if(!_31){
return;
}
this._onModalShowHandler=function(_32){
if(!_32._modalExtender){
_32._modalExtender=new Telerik.Web.UI.ModalExtender(_32._popupElement);
}
_32._modalExtender.show();
};
this.add_show(this._onModalShowHandler);
this._onModalCloseHandler=function(_33){
if(_33._modalExtender){
_33._modalExtender.hide();
}
};
this.add_hide(this._onModalCloseHandler);
},_isMouseOverElement:function(e,_35){
var _36=null;
try{
_36=$telerik.getBounds(_35);
}
catch(e){
return false;
}
if(e&&e.target){
var _37=e.target.tagName;
if(_37=="SELECT"||_37=="OPTION"){
return true;
}
if(e.clientX<0||e.clientY<0){
return true;
}
}
var _38=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;
var x=e.clientX+_38.scrollLeft;
var y=e.clientY+_38.scrollTop;
_36.x+=3;
_36.y+=2;
_36.width-=4;
_36.height-=4;
var _3b=$telerik.containsPoint(_36,x,y);
return _3b;
},_onMouseOver:function(e){
this._logMousePosition(e);
this._resetShowDelay();
this._getToolTipController().requestShow(this);
if(e){
}
},_onMouseMove:function(e){
this._logMousePosition(e);
this._resetAutoCloseDelay();
if(this._mouseTrailing&&this.isVisible()){
this._show();
}
},_onMouseOut:function(e){
var _3f=this._isMouseOverElement(e,this._targetControl);
if(!_3f){
this.cancelShowDelay();
if(!this._sticky){
if(this._hideDelay>0){
var _40=this;
window.setTimeout(function(){
_40.hide(true);
},this._hideDelay);
}else{
this.hide(true);
}
}
}
},_onClick:function(e){
this._onMouseOver(e);
return $telerik.cancelRawEvent(e);
},_onRightClick:function(e){
this._onMouseOver(e);
return $telerik.cancelRawEvent(e);
},_registerMouseHandlers:function(_43,_44){
if(true==_44){
var _45={};
var _46=Telerik.Web.UI.ToolTipShowEvent;
if(this._showEvent==_46.OnMouseOver){
this._onMouseOverDelegate=Function.createDelegate(this,this._onMouseOver);
this._onMouseMoveDelegate=Function.createDelegate(this,this._onMouseMove);
this._onMouseOutDelegate=Function.createDelegate(this,this._onMouseOut);
$addHandler(_43,"mouseover",this._onMouseOverDelegate);
$addHandler(_43,"mousemove",this._onMouseMoveDelegate);
$addHandler(_43,"mouseout",this._onMouseOutDelegate);
}
if(this._showEvent==_46.OnClick){
this._onClickDelegate=Function.createDelegate(this,this._onClick);
$addHandler(_43,"click",this._onClickDelegate);
}
if(this._showEvent==_46.OnRightClick){
this._onRightClickDelegate=Function.createDelegate(this,this._onRightClick);
$addHandler(_43,"contextmenu",this._onRightClickDelegate);
}
if(this._showEvent==_46.OnFocus){
this._onFocusDelegate=Function.createDelegate(this,this._onMouseOver);
this._onBlurDelegate=Function.createDelegate(this,this._onMouseOut);
$addHandler(_43,"focus",this._onFocusDelegate);
$addHandler(_43,"blur",this._onBlurDelegate);
}
}else{
if(_43){
var _47=[["mouseover",this._onMouseOverDelegate],["mousemove",this._onMouseMoveDelegate],["mouseout",this._onMouseOutDelegate],["click",this._onClickDelegate],["contextmenu",this._onRightClickDelegate],["focus",this._onFocusDelegate],["blur",this._onBlurDelegate]];
for(var i=0;i<_47.length;i++){
var _49=_47[i];
try{
if(null!=_49[1]){
$removeHandler(_43,_49[0],_49[1]);
}
}
catch(e){
}
}
this._onMouseOverDelegate=null;
this._onMouseMoveDelegate=null;
this._onMouseOutDelegate=null;
this._onClickDelegate=null;
this._onRightClickDelegate=null;
this._onFocusDelegate=null;
this._onBlurDelegate=null;
}
}
},_registerPopupHandlers:function(_4a){
if(true==_4a){
if(this._sticky||this._position==Telerik.Web.UI.ToolTipPosition.Center){
this._popupStickyHandler=Function.createDelegate(this,this._onPopupStickyMouseOut);
$addHandler(this._tableElement,"mouseout",this._popupStickyHandler);
this.set_sticky(true);
}
}else{
if(this._popupStickyHandler){
$removeHandler(this._tableElement,"mouseout",this._popupStickyHandler);
this._popupStickyHandler=null;
}
}
},_onPopupStickyMouseOut:function(e){
var _4c=this._isMouseOverElement(e,this._tableElement);
if(!_4c&&!this._manualClose){
this.hide();
}
},_getPropertiesParameter:function(){
if(!this._propertiesParameter){
var _4d={};
for(var _4e in Telerik.Web.UI.RadToolTip.prototype){
var _4f=this[_4e];
if(typeof (_4f)=="function"&&_4e.indexOf("get_")==0){
var _50=_4e.substring(4);
if(null==this["set_"+_50]){
continue;
}
var _51=_4f.call(this);
if(null==_51){
continue;
}
_4d[_50]=_51;
if(_50=="skin"){
break;
}
}
}
this._propertiesParameter=_4d;
}
var _52=this._cloneObject(this._propertiesParameter);
return _52;
},_getEventsParameter:function(){
if(!this._eventsParameter){
var _53={};
var _54=this.get_events();
var _55=["beforeShow","show","beforeHide","hide"];
for(var i=0;i<_55.length;i++){
var _57=_55[i];
var _58=_54.getHandler(_57);
if(_58&&typeof (eval(_58))=="function"){
_53[_57]=eval(_58);
}
}
this._eventsParameter=_53;
}
return this._eventsParameter;
},_cloneObject:function(_59){
var _5a={};
for(var _5b in _59){
_5a[_5b]=_59[_5b];
}
return _5a;
},_getPosRelativeToMouse:function(_5c){
var _5d=_5c.x;
var _5e=_5c.y;
var pos=this._getMousePosition();
var _60=pos.clientX;
var _61=pos.clientY;
var _62=$telerik.standardsMode;
if(!$telerik.isIE&&document.compatMode!="CSS1Compat"){
_62=false;
}
if(_62){
_5d-=document.documentElement.scrollLeft;
_5e-=document.documentElement.scrollTop;
}else{
_5d-=document.body.scrollLeft;
_5e-=document.body.scrollTop;
}
var _63=_60-_5d;
var _64=_61-_5e;
return {x:_63,y:_64};
},_logMousePosition:function(e){
if(!e){
return;
}
this._mouseX=e.clientX;
this._mouseY=e.clientY;
},_getMousePosition:function(){
var obj={};
obj.clientX=this._mouseX;
obj.clientY=this._mouseY;
return obj;
},_getCalloutBounds:function(){
var _67={width:0,height:0,marginLeft:0,marginTop:0};
if(this._showCallout&&this._calloutElement){
_67.marginLeft=parseInt($telerik.getCurrentStyle(this._calloutElement,"marginLeft"));
_67.marginTop=parseInt($telerik.getCurrentStyle(this._calloutElement,"marginTop"));
if(isNaN(_67.marginLeft)){
_67.marginLeft=0;
}
if(isNaN(_67.marginLeft)){
_67.marginLeft=0;
}
var _68=$telerik.getBounds(this._calloutElement);
if(_68){
if(_68.width){
_67.width=_68.width;
}
if(_68.height){
_67.height=_68.height;
}
}
}
return _67;
},_getBoundsRelativeToBrowser:function(_69,_6a,_6b){
var _6c=this._horizontalPosition;
var _6d=this._verticalPosition;
var x=0;
var y=0;
if(!_6b){
_6b=$telerik.getClientBounds();
}
var _70=$telerik.getScrollOffset(document.compatMode&&document.compatMode!="BackCompat"?document.documentElement:document.body);
if("fixed"!=this._popupElement.style.position){
x+=_70.x;
y+=_70.y;
}
switch(_6c){
case 2:
x+=-parseInt(_69.width/2-_6b.width/2);
x+=this._offsetX;
break;
case 3:
x+=_6b.width;
x-=_69.width;
x-=this._offsetX;
break;
case 1:
default:
x+=-_69.width;
x+=(-_6a.width-_6a.marginLeft);
x+=this._offsetX;
break;
}
switch(_6d){
case 2:
y+=-parseInt((_69.height-_6b.height)/2);
break;
case 1:
y+=this._offsetY;
break;
case 3:
default:
y+=_6b.height;
y-=this._offsetY;
y-=_69.height;
break;
}
return new Sys.UI.Bounds(x,y,_69.width,_69.height);
},_getBoundsRelativeToElement:function(_71,_72,_73){
var _74=this._horizontalPosition;
var _75=this._verticalPosition;
var x=0;
var y=0;
if(!_73){
_73=$telerik.getBounds(this._targetControl);
}
switch(_74){
case 2:
x+=-parseInt(_71.width/2-_73.width/2);
x+=this._offsetX;
break;
case 3:
x+=_73.width;
x-=_72.marginLeft;
x+=this._offsetX;
break;
case 1:
default:
x+=-_71.width;
x+=(-_72.width-_72.marginLeft);
x-=this._offsetX;
break;
}
switch(_75){
case 2:
y+=-parseInt(_71.height/2-_73.height/2);
y+=this._offsetY;
break;
case 1:
y-=_71.height;
y-=_72.height+_72.marginTop;
y-=this._offsetY;
break;
case 3:
default:
y+=_73.height;
y-=_72.marginTop;
y+=this._offsetY;
break;
}
return new Sys.UI.Bounds(x,y,_71.width,_71.height);
},_getBoundsRelativeToMouse:function(_78,_79,_7a){
var _7a=this._targetControl?$telerik.getBounds(this._targetControl):$telerik.getClientBounds();
var pos=this._getPosRelativeToMouse(_7a);
if(isNaN(pos.x)){
pos.x=0;
pos.y=0;
}else{
_7a.width=0;
_7a.height=0;
}
var _7c=this._getBoundsRelativeToElement(_78,_79,_7a);
var _7d=new Sys.UI.Bounds(pos.x+_7c.x,pos.y+_7c.y,_78.width,_78.height);
return _7d;
},getToolTipBounds:function(){
var _7e=this._popupElement;
var _7f=(_7e.style.display=="none")?true:false;
_7e.style.left="-3000px";
_7e.style.top="-3000px";
_7e.style.display="";
this._setOverflow();
if(this._firstShow!=true){
this._fixIeHeight(this._tableElement,this._height);
this._firstShow=true;
}
var _80=this._isRelativeToBrowserWindow()?document.documentElement:this._targetControl;
this._popupBehavior.set_parentElement(_80);
var _81=$telerik.getBounds(_7e);
var _82=this._getCalloutBounds();
if(_7f){
this._popupElement.style.display="none";
}
var _83=Telerik.Web.UI.ToolTipRelativeDisplay;
var _84=Telerik.Web.UI.ToolTipShowEvent;
var _85=null;
if(this._relativeTo==_83.BrowserWindow){
_85=this._getBoundsRelativeToBrowser(_81,_82);
}else{
if(!this._targetControl&&this._showEvent==_84.FromCode){
_85=this._getBoundsRelativeToBrowser(_81,_82);
}else{
if(this._targetControl&&this._showEvent==_84.FromCode){
_85=this._getBoundsRelativeToElement(_81,_82);
}else{
if((this._mouseTrailing||this._relativeTo==_83.Mouse)){
_85=this._getBoundsRelativeToMouse(_81,_82);
}else{
if(this._relativeTo==_83.Element){
_85=this._getBoundsRelativeToElement(_81,_82);
}
}
}
}
}
return _85;
},_fixIeHeight:function(_86,_87){
if("CSS1Compat"==document.compatMode){
var _88=(_86.offsetHeight-parseInt(_87));
if(_88>0){
var _89=(parseInt(_86.style.height)-_88);
if(_89>0){
_86.style.height=_89+"px";
}
}
}
},_refreshTitle:function(){
if(null==this._titleElement){
return;
}
this._titleElement.innerHTML=this._title;
this._titleElement.style.display=(this._title)?"":"none";
},_createUI:function(){
if(!this._popupElement){
var _8a=this.get_id();
var _8b="RadToolTipWrapper_"+_8a;
var _8c=document.createElement("DIV");
_8c.id=_8b;
_8c.className=this._getFullSkinName()+(this.get_showCallout()?" visiblecallout":"");
_8c.setAttribute("unselectable","on");
this._popupElement=_8c;
var _8d=document.createElement("DIV");
_8d.className="ToolTipCallout "+this._getCalloutPosition(this._position);
_8d.innerHTML="&nbsp;";
this._calloutElement=_8d;
var _8e=document.createElement("TABLE");
_8e.className="ToolTipWrapper";
_8e.style.width=this._width;
_8e.style.height=this._height;
this._tableElement=_8e;
var _8f=["ToolTipTopLeft","ToolTipTopCenter","ToolTipTopRight","ToolTipLeftMiddle","ToolTipContent","ToolTipRightMiddle","ToolTipBottomLeft","ToolTipBottomCenter","ToolTipBottomRight"];
var _90=0;
for(var i=1;i<=3;i++){
var _92=_8e.insertRow(-1);
for(var j=1;j<=3;j++){
var _94=_92.insertCell(-1);
_94.innerHTML="&nbsp;";
_94.className=_8f[_90];
_90++;
}
}
var _95=_8e.rows[0].cells[1];
_95.innerHTML="";
var _96=document.createElement("DIV");
_96.className="ToolTipTitlebar VisibleTitlebar";
_96.style.display="none";
this._titleElement=_96;
this._refreshTitle();
_95.appendChild(_96);
if(this._manualClose){
var _97=document.createElement("A");
_97.href="javascript: void(0);";
_97.className="CloseButton";
this._closeLinkHandler=Function.createDelegate(this,function(e){
this.hide();
if(e){
e.returnValue=false;
e.cancelBubble=true;
if(e.stopPropagation){
e.stopPropagation();
}
}
return false;
});
$addHandler(_97,"click",this._closeLinkHandler);
this._closeLink=_97;
var _99=document.createElement("SPAN");
_99.innerHTML="Close";
_97.title="Close";
_97.appendChild(_99);
_95.appendChild(_97);
}
var _9a=_8e.rows[1].cells[1];
_9a.vAlign="top";
_9a.innerHTML="";
this._contentCell=_9a;
var _9b=null;
var _9c=this._targetControl;
var _9d=this.get_text();
var _9b=null;
var _9e=this.get_text();
if(this._targetControl&&!_9e){
_9e=this._targetControl.getAttribute("title");
if(_9e){
this._targetControl.removeAttribute("title");
}
this._text=_9e;
}
if(this._text){
this.set_content(this._text);
}else{
var _9f=this.get_id();
if(_9f){
_9b=$get(_9f);
}
if(_9b&&_9b.innerHTML){
var _a0=this._transferNodeChildren(_9b);
this.set_contentElement(_a0);
}
}
_8c.appendChild(_8d);
_8c.appendChild(_8e);
this._popupElement.style.display="none";
this._popupElement.style.position="absolute";
this._addToolTipToDocument(_9b);
}
if(!this._popupBehavior){
this._popupBehavior=$create(Telerik.Web.PopupBehavior,{"id":(new Date()-100)+"PopupBehavior","parentElement":this._targetControl},null,null,this._popupElement);
}
},_transferNodeChildren:function(_a1){
if(!_a1){
return null;
}
var _a2=_a1.ownerDocument.createElement(_a1.tagName);
var _a3=0;
while(_a1.childNodes&&_a1.childNodes.length>_a3){
var _a4=_a1.childNodes[_a3];
if(this._clientStateFieldID&&_a4.id==this._clientStateFieldID){
_a3=1;
continue;
}
_a1.removeChild(_a4);
_a2.appendChild(_a4);
}
return _a2;
},_addToolTipToDocument:function(_a5){
if(null!=_a5){
_a5.parentNode.insertBefore(this._popupElement,_a5);
return;
}
var _a6=document.getElementById(this._formID);
if(!_a6){
_a6=document.forms[0];
}
_a6.appendChild(this._popupElement);
},_getParentByTagName:function(_a7,_a8){
var _a9=_a7;
_a8=_a8.toUpperCase();
while(_a9.tagName.toUpperCase()!=_a8){
_a9=_a9.parentNode;
if(!_a9){
break;
}
}
return _a9;
},_getFullSkinName:function(){
return "radtooltip_"+this._skin;
},_getUniqueString:function(){
return ""+(new Date()-100);
},_getCalloutPosition:function(_aa){
with(Telerik.Web.UI.ToolTipPosition){
switch(_aa){
case TopLeft:
return "BottomRight";
case TopCenter:
return "BottomCenter";
case TopRight:
return "BottomLeft";
case MiddleLeft:
return "MiddleRight";
case Center:
return "Center";
case MiddleRight:
return "MiddleLeft";
case BottomLeft:
return "TopRight";
case BottomCenter:
return "TopCenter";
case BottomRight:
return "TopLeft";
}
}
return "";
},_getHorizontalSide:function(_ab){
return parseInt((_ab+"").charAt(1));
},_getVerticalSide:function(_ac){
return parseInt((_ac+"").charAt(0));
},_setPopupVisible:function(x,y){
this._popupBehavior.set_x(x);
this._popupBehavior.set_y(y);
this._popupBehavior.show();
if(!this.get_width()){
this._popupElement.style.width="";
}
this._popupElement.style.zIndex=this._zIndex;
},_setOverflow:function(){
var _af=this._contentScrolling;
if(_af==Telerik.Web.UI.ToolTipScrolling.Auto){
return;
}
var el=this._contentElement;
if(!el){
return;
}
var _b1="";
with(Telerik.Web.UI.ToolTipScrolling){
switch(_af){
case Auto:
_b1="auto";
break;
case None:
_b1="hidden";
break;
case X:
_b1="";
el.style.overflowX="scroll";
break;
case Y:
_b1="";
el.style.overflowY="scroll";
break;
case Both:
_b1="scroll";
}
}
var _b2=el.parentNode;
el.style.display="none";
var _b3=$telerik.getBounds(_b2).height;
el.style.height=_b3+"px";
if(!el.style.overflowX&&!el.style.overflowY){
el.style.overflow=_b1;
}
el.style.display="";
},_getLeftOffset:function(){
var _b4=Telerik.Web.UI.ToolTipPosition;
if(_b4.Left==this._position){
return (-1*this._targetControl.offsetWidth)+this._offsetX;
}else{
if(_b4.Right==this._position){
return this._targetControl.offsetWidth+this._offsetX;
}else{
return this._offsetX;
}
}
},_getTopOffset:function(){
var _b5;
var _b6=Telerik.Web.UI.ToolTipPosition;
if(_b6.Top==this._position){
_b5=(-1*this._targetControl.offsetHeight)+this._offsetY;
}else{
if(_b6.Bottom==this._position){
_b5=this._targetControl.offsetHeight+this._offsetY;
}else{
_b5=this._offsetY;
}
}
return _b5;
},isVisible:function(){
return this._popupVisible;
},get_targetControlID:function(){
return this._targetControlID;
},set_targetControlID:function(_b7){
if(this._targetControlID!=_b7){
this._targetControlID=_b7;
var _b8=(this._targetControlID?$get(this._targetControlID):null);
this.set_targetControl(_b8);
}
},get_targetControl:function(){
return this._targetControl;
},set_targetControl:function(_b9){
if(this._targetControl!=_b9){
if(this._targetControl&&(this._targetControl!=_b9)){
this._registerMouseHandlers(this._targetControl,false);
}
this._targetControl=_b9;
var _ba=this._targetControl;
if(_ba){
if($telerik.isIE&&_ba){
_ba.removeAttribute("alt");
}
this._registerMouseHandlers(_ba,true);
if(this._popupBehavior){
this._popupBehavior.set_parentElement(_ba);
}
}
}
},get_serverTargetControlID:function(){
return this._serverTargetControlID;
},set_serverTargetControlID:function(_bb){
this._serverTargetControlID=_bb;
},get_serverValue:function(){
return this._serverValue;
},set_serverValue:function(_bc){
this._serverValue=_bc;
},get_value:function(){
return this.get_serverValue();
},set_value:function(_bd){
this.set_serverValue(_bd);
},get_formID:function(){
return this._formID;
},set_formID:function(_be){
if(this._formID!=_be){
this._formID=_be;
}
},get_position:function(){
return this._position;
},set_position:function(_bf){
if(this._position!=_bf){
this._position=_bf;
if(this._calloutElement){
this._calloutElement.className="ToolTipCallout "+this._getCalloutPosition(this._position);
}
}
this._horizontalPosition=this._getHorizontalSide(this._position);
this._verticalPosition=this._getVerticalSide(this._position);
},get_offsetX:function(){
return this._offsetX;
},set_offsetX:function(_c0){
if(this._offsetX!=_c0){
this._offsetX=_c0;
}
},get_offsetY:function(){
return this._offsetY;
},set_offsetY:function(_c1){
if(this._offsetY!=_c1){
this._offsetY=_c1;
}
},get_title:function(){
return this._title;
},set_title:function(_c2){
if(this._title!=_c2){
this._title=_c2;
}
this._refreshTitle();
},get_text:function(){
return this._text;
},set_text:function(_c3){
if(this._text!=_c3){
this._text=_c3;
}
if(this.isCreated()){
this.set_content(this._text);
}
},get_width:function(){
return this._width;
},set_width:function(_c4){
if(this._width!=_c4){
this._width=_c4;
}
},get_height:function(){
return this._height;
},set_height:function(_c5){
if(this._height!=_c5){
this._height=_c5;
}
},get_relativeTo:function(){
return this._relativeTo;
},set_relativeTo:function(_c6){
if(this._relativeTo!=_c6){
this._relativeTo=_c6;
}
},get_contentScrolling:function(){
return this._contentScrolling;
},set_contentScrolling:function(_c7){
if(this._contentScrolling!=_c7){
this._contentScrolling=_c7;
}
},get_sticky:function(){
return this._sticky;
},set_sticky:function(_c8){
if(this._sticky!=_c8){
this._sticky=_c8;
}
},get_manualClose:function(){
return this._manualClose;
},set_manualClose:function(_c9){
if(this._manualClose!=_c9){
this._manualClose=_c9;
}
},get_showCallout:function(){
return this._showCallout;
},set_showCallout:function(_ca){
if(this._showCallout!=_ca){
this._showCallout=_ca;
}
},get_showDelay:function(){
return this._showDelay;
},set_showDelay:function(_cb){
if(this._showDelay!=_cb){
this._showDelay=_cb;
}
},get_autoCloseDelay:function(){
return this._autoCloseDelay;
},set_autoCloseDelay:function(_cc){
if(this._autoCloseDelay!=_cc){
this._autoCloseDelay=_cc;
}
},get_hideDelay:function(){
return this._hideDelay;
},set_hideDelay:function(_cd){
if(this._hideDelay!=_cd){
this._hideDelay=_cd;
}
},get_mouseTrailing:function(){
return this._mouseTrailing;
},set_mouseTrailing:function(_ce){
if(this._mouseTrailing!=_ce){
this._mouseTrailing=_ce;
if(true==_ce){
this.set_relativeTo(Telerik.Web.UI.ToolTipRelativeDisplay.Mouse);
}
}
},get_visibleOnPageLoad:function(){
return this._visibleOnPageLoad;
},set_visibleOnPageLoad:function(_cf){
if(this._visibleOnPageLoad!=_cf){
this._visibleOnPageLoad=_cf;
}
},get_animation:function(){
return this._animation;
},set_animation:function(_d0){
if(this._animation!=_d0){
this._animation=_d0;
}
},get_showEvent:function(){
return this._showEvent;
},set_showEvent:function(_d1){
if(this._showEvent!=_d1){
this._showEvent=_d1;
}
},get_skin:function(){
return this._skin;
},set_skin:function(_d2){
if(_d2&&this._skin!=_d2){
this._skin=_d2;
}
},get_popupElement:function(){
return this._popupElement;
},get_modal:function(){
return this._modal;
},set_modal:function(_d3){
if(this._modal!=_d3){
this._modal=_d3;
}
this._makeModal(this._modal);
},add_beforeShow:function(_d4){
this.get_events().addHandler("beforeShow",_d4);
},remove_beforeShow:function(_d5){
this.get_events().removeHandler("beforeShow",_d5);
},add_show:function(_d6){
this.get_events().addHandler("show",_d6);
},remove_show:function(_d7){
this.get_events().removeHandler("show",_d7);
},add_beforeHide:function(_d8){
this.get_events().addHandler("beforeHide",_d8);
},remove_beforeHide:function(_d9){
this.get_events().removeHandler("beforeHide",_d9);
},add_hide:function(_da){
this.get_events().addHandler("hide",_da);
},remove_hide:function(_db){
this.get_events().removeHandler("hide",_db);
},saveClientState:function(){
var _dc=["text","position"];
var _dd={};
for(var i=0;i<_dc.length;i++){
_dd[_dc[i]]=this["get_"+_dc[i]]();
}
return Sys.Serialization.JavaScriptSerializer.serialize(_dd);
}};
Telerik.Web.UI.RadToolTip.registerClass("Telerik.Web.UI.RadToolTip",Telerik.Web.UI.RadWebControl);
Telerik.Web.UI.ToolTipPosition=function(){
throw Error.invalidOperation();
};
Telerik.Web.UI.ToolTipPosition.prototype={TopLeft:11,TopCenter:12,TopRight:13,MiddleLeft:21,Center:22,MiddleRight:23,BottomLeft:31,BottomCenter:32,BottomRight:33};
Telerik.Web.UI.ToolTipPosition.registerEnum("Telerik.Web.UI.ToolTipPosition",false);
Telerik.Web.UI.ToolTipRelativeDisplay=function(){
throw Error.invalidOperation();
};
Telerik.Web.UI.ToolTipRelativeDisplay.prototype={Mouse:0,Element:1,BrowserWindow:2};
Telerik.Web.UI.ToolTipRelativeDisplay.registerEnum("Telerik.Web.UI.ToolTipRelativeDisplay",false);
Telerik.Web.UI.ToolTipScrolling=function(){
throw Error.invalidOperation();
};
Telerik.Web.UI.ToolTipScrolling.prototype={Auto:0,None:1,X:2,Y:3,Both:4};
Telerik.Web.UI.ToolTipScrolling.registerEnum("Telerik.Web.UI.ToolTipScrolling",false);
Telerik.Web.UI.ToolTipAnimation=function(){
throw Error.invalidOperation();
};
Telerik.Web.UI.ToolTipAnimation.prototype={None:0,Resize:1,Fade:2,Slide:4,FlyIn:8};
Telerik.Web.UI.ToolTipAnimation.registerEnum("Telerik.Web.UI.ToolTipAnimation",false);
Telerik.Web.UI.ToolTipShowEvent=function(){
throw Error.invalidOperation();
};
Telerik.Web.UI.ToolTipShowEvent.prototype={OnMouseOver:1,OnClick:2,OnRightClick:4,OnFocus:8,FromCode:16};
Telerik.Web.UI.ToolTipShowEvent.registerEnum("Telerik.Web.UI.ToolTipShowEvent",false);


/* END Telerik.Web.UI.ToolTip.RadToolTip.js */
/* START Telerik.Web.UI.ToolTip.RadToolTipManager.js */
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadToolTipManager=function(_1){
Telerik.Web.UI.RadToolTipManager.initializeBase(this,[_1]);
this._targetControls=null;
this._isToolTipFactory=false;
this._loadOnDemand=false;
this._toolTipZoneID=null;
this._autoTooltipify=true;
this._updatePanelParent=null;
this._tooltips=[];
this._idCounter=100;
this._webServiceSettings=null;
};
Telerik.Web.UI.RadToolTipManager.prototype={initialize:function(_2){
this.set_zIndex($telerik.getCurrentStyle(this.get_element(),"zIndex"));
var _3=this.get_updatePanel();
if(_3){
this._updatePanelParent=_3.parentNode;
}
var _4=this.get_visibleOnPageLoad();
this.set_visibleOnPageLoad(false);
var _5=this.get_toolTipZoneID();
this.tooltipify(_5?$get(_5):document,_5?this._isDescendant:null);
if(_4&&this._tooltips[0]){
this._tooltips[0].show();
}
window.setTimeout(Function.createDelegate(this,function(){
this._trackPageUpdates();
}),0);
},get_updatePanel:function(){
return $get(this._getUpdatePanelID());
},dispose:function(){
this._moveUpdatePanel();
this._disposeToolTips();
var _6=Sys.WebForms.PageRequestManager.getInstance();
_6.remove_pageLoaded(this._pageLoadedHandler);
this._pageLoadedHandler=null;
this._updatePanelParent=null;
Telerik.Web.UI.RadToolTipManager.callBaseMethod(this,"dispose");
},_disposeToolTips:function(){
for(var i=0;i<this._tooltips.length;i++){
var t=this._tooltips[i];
t.dispose();
}
this._tooltips=null;
},_isDescendant:function(_9,_a){
return $telerik.isDescendant(_9,_a);
},_trackPageUpdates:function(){
this._pageLoadedHandler=Function.createDelegate(this,function(_b,_c){
var _d=_c.get_panelsUpdated();
if(!_d){
return;
}
for(var i=0;i<_d.length;i++){
if(_d[i].id==this._getUpdatePanelID()){
continue;
}
this.tooltipify(_d[i],this._isDescendant);
}
});
var _f=Sys.WebForms.PageRequestManager.getInstance();
_f.add_pageLoaded(this._pageLoadedHandler);
},get_toolTips:function(){
return this._tooltips;
},get_tooltips:function(){
return this.get_toolTips();
},getToolTipByElement:function(_10){
if(!_10){
return null;
}
var _11=this.get_tooltips();
try{
for(var i=0;i<_11.length;i++){
if(_11[i].get_targetControl()==_10){
return _11[i];
}
}
}
catch(ex){
}
return null;
},createToolTip:function(_13,_14,_15){
var _16=_13.getAttribute("title");
_13.removeAttribute("title");
var _17=this.clone(_13,this._getUniqueToolTipID());
this._tooltips[this._tooltips.length]=_17;
if(_14&&_14!=_13.getAttribute("id")){
_17.set_serverTargetControlID(_14);
}
if(_15){
_17.set_serverValue(_15);
}
if(this._loadOnDemand){
this._initializeAjaxToolTip(_17);
}else{
if(this._webServiceSettings){
this._initializeWebServiceToolTip(_17);
}else{
var _18=this.get_text();
if(!_18){
_18=_16;
}
_17.set_text(_18);
}
}
return _17;
},tooltipify:function(_19,_1a){
if(!_19){
_19=document;
}
if(!_1a){
_1a=function(_1b,_1c){
return true;
};
}
var _1d=this.get_targetControls();
if(_1d.length>0){
for(var i=0;i<_1d.length;i++){
var _1f=_1d[i];
var _20=$get(_1f[0]);
if(_20&&_1a(_19,_20)){
this.createToolTip(_20,_1f[1],_1f[2]);
}
}
}else{
if(_19==document&&!this.get_autoTooltipify()){
return;
}
var _1d=_19.getElementsByTagName("*");
for(var i=0;i<_1d.length;i++){
var _20=_1d[i];
var _21=_20.getAttribute("title");
var alt=_20.getAttribute("alt");
if(_20&&(_21||alt)){
if(!_21){
_20.setAttribute("title",alt);
_20.removeAttribute("alt");
}else{
if(alt){
_20.removeAttribute("alt");
}
}
this.createToolTip(_20);
}
}
}
},_initializeWebServiceLoader:function(){
this._webServiceLoader=new Telerik.Web.UI.WebServiceLoader(this.get_webServiceSettings());
this._webServiceLoader.add_loadingError(function(_23,_24){
var _25=_24.get_message();
alert(_25);
});
this._webServiceLoader.add_loadingSuccess(Function.createDelegate(this,this._onWebServiceResponse));
},_onWebServiceResponse:function(_26,_27){
var _28=_27.get_data();
var div=document.createElement("DIV");
div.innerHTML=_28;
if(this._currentServicedToolTip){
this._currentServicedToolTip.set_contentElement(div);
}
},_initializeWebServiceToolTip:function(_2a){
_2a.add_beforeShow(Function.createDelegate(this,function(_2b,_2c){
if(!this._webServiceLoader){
this._initializeWebServiceLoader();
}
var _2d={TargetControlID:_2a.get_targetControlID(),Value:_2a.get_serverValue()};
this._currentServicedToolTip=_2b;
this._webServiceLoader.loadData({context:_2d});
_2b.showLoadingMessage(true);
}));
},_initializeAjaxToolTip:function(_2e){
_2e.add_beforeShow(Function.createDelegate(this,function(_2f,_30){
this._doLoadOnDemand(_2f);
}));
_2e.add_hide(Function.createDelegate(this,function(_31,_32){
var _33=this.get_updatePanel();
var _34=_31.get_popupElement();
var _35=$telerik.isDescendant(_34,_33);
if(_35){
this._moveUpdatePanel();
}
}));
},_doLoadOnDemand:function(_36){
var _37=document.getElementById(_36.get_formID());
if(!_37){
_37=document.forms[0];
}
var _38=this._moveUpdatePanel(_37,true);
_36.showLoadingMessage(true);
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequestHandler);
function EndRequestHandler(_3a,_3b){
_36.set_contentElement(_38);
prm.remove_endRequest(EndRequestHandler);
}
var _3c=_36.get_serverTargetControlID();
if(!_3c){
_3c=_36.get_targetControlID();
}
this._ajaxControlID=_3c;
this._ajaxValue=_36.get_serverValue();
this.updateClientState();
__doPostBack(this._getUpdatePanelID());
},saveClientState:function(){
var _3d={AjaxTargetControl:this._ajaxControlID,Value:this._ajaxValue};
return Sys.Serialization.JavaScriptSerializer.serialize(_3d);
},_getUpdatePanelID:function(){
return this.get_id()+"RTMPanel";
},_getUniqueToolTipID:function(){
this._idCounter++;
return (this.get_id()+(new Date()-this._idCounter));
},_moveUpdatePanel:function(_3e,_3f){
if(!_3e){
_3e=this._updatePanelParent;
}
if(_3e&&_3e.appendChild){
var _40=this.get_updatePanel();
if(_40){
if(false!=_3f){
_40.style.display="none";
}
_3e.appendChild(_40);
}
return _40;
}
},get_webServiceSettings:function(){
return this._webServiceSettings;
},set_webServiceSettings:function(_41){
var _42=Sys.Serialization.JavaScriptSerializer.deserialize(_41);
this._webServiceSettings=new Telerik.Web.UI.WebServiceSettings(_42);
},get_autoTooltipify:function(){
return this._autoTooltipify;
},set_autoTooltipify:function(_43){
if(this._autoTooltipify!=_43){
this._autoTooltipify=_43;
}
},get_toolTipZoneID:function(){
return this._toolTipZoneID;
},set_toolTipZoneID:function(_44){
if(this._toolTipZoneID!=_44){
this._toolTipZoneID=_44;
}
},get_isToolTipFactory:function(){
return this._isToolTipFactory;
},set_isToolTipFactory:function(_45){
if(this._isToolTipFactory!=_45){
this._isToolTipFactory=_45;
}
},get_loadOnDemand:function(){
return this._loadOnDemand;
},set_loadOnDemand:function(_46){
if(this._loadOnDemand!=_46){
this._loadOnDemand=_46;
}
},get_targetControls:function(){
return this._targetControls;
},set_targetControls:function(_47){
if(!_47){
this._targetControls=[];
}else{
this._targetControls=eval(_47);
}
}};
Telerik.Web.UI.RadToolTipManager.registerClass("Telerik.Web.UI.RadToolTipManager",Telerik.Web.UI.RadToolTip);


/* END Telerik.Web.UI.ToolTip.RadToolTipManager.js */
/* START Telerik.Web.UI.Common.Animation.AnimationScripts.js */
Type.registerNamespace("Telerik.Web.Animation");
var $TWA=Telerik.Web.Animation;
$TWA.registerAnimation=function(_1,_2){
if(_2&&((_2===$TWA.Animation)||(_2.inheritsFrom&&_2.inheritsFrom($TWA.Animation)))){
if(!$TWA.__animations){
$TWA.__animations={};
}
$TWA.__animations[_1.toLowerCase()]=_2;
_2.play=function(){
var _3=new _2();
_2.apply(_3,arguments);
_3.initialize();
var _4=Function.createDelegate(_3,function(){
_3.remove_ended(_4);
_4=null;
_3.dispose();
});
_3.add_ended(_4);
_3.play();
};
}else{
throw Error.argumentType("type",_2,$TWA.Animation,"Telerik.Web.Animation.registerAnimation can only register types that inherit from Telerik.Web.Animation.Animation");
}
};
$TWA.Animation=function(_5,_6,_7){
$TWA.Animation.initializeBase(this);
this._duration=1;
this._fps=25;
this._target=null;
this._tickHandler=null;
this._timer=null;
this._percentComplete=0;
this._percentDelta=null;
this._owner=null;
this._parentAnimation=null;
this.DynamicProperties={};
if(_5){
this.set_target(_5);
}
if(_6){
this.set_duration(_6);
}
if(_7){
this.set_fps(_7);
}
};
$TWA.Animation.prototype={dispose:function(){
if(this._timer){
this._timer.dispose();
this._timer=null;
}
this._tickHandler=null;
this._target=null;
$TWA.Animation.callBaseMethod(this,"dispose");
},play:function(){
if(!this._owner){
var _8=true;
if(!this._timer){
_8=false;
if(!this._tickHandler){
this._tickHandler=Function.createDelegate(this,this._onTimerTick);
}
this._timer=new Telerik.Web.Timer();
this._timer.add_tick(this._tickHandler);
this.onStart();
this._timer.set_interval(1000/this._fps);
this._percentDelta=100/(this._duration*this._fps);
this._updatePercentComplete(0,true);
}
this._timer.set_enabled(true);
this.raisePropertyChanged("isPlaying");
if(!_8){
this.raisePropertyChanged("isActive");
}
}
},pause:function(){
if(!this._owner){
if(this._timer){
this._timer.set_enabled(false);
this.raisePropertyChanged("isPlaying");
}
}
},stop:function(_9){
if(!this._owner){
var t=this._timer;
this._timer=null;
if(t){
t.dispose();
if(this._percentComplete!==100){
this._percentComplete=100;
this.raisePropertyChanged("percentComplete");
if(_9||_9===undefined){
this.onStep(100);
}
}
this.onEnd();
this.raisePropertyChanged("isPlaying");
this.raisePropertyChanged("isActive");
}
}
},onStart:function(){
this.raiseStarted();
for(var _b in this.DynamicProperties){
try{
this[_b](eval(this.DynamicProperties[_b]));
}
catch(ex){
if(Sys.Debug.isDebug){
throw ex;
}
}
}
},onStep:function(_c){
this.setValue(this.getAnimatedValue(_c));
},onEnd:function(){
this.raiseEnded();
},getAnimatedValue:function(_d){
throw Error.notImplemented();
},setValue:function(_e){
throw Error.notImplemented();
},interpolate:function(_f,end,_11){
return _f+(end-_f)*(_11/100);
},_onTimerTick:function(){
this._updatePercentComplete(this._percentComplete+this._percentDelta,true);
this.raise_onTick();
},_updatePercentComplete:function(_12,_13){
if(_12>100){
_12=100;
}
this._percentComplete=_12;
this.raisePropertyChanged("percentComplete");
if(_13){
this.onStep(_12);
}
if(_12===100){
this.stop(false);
}
},setOwner:function(_14){
this._owner=_14;
},raiseStarted:function(){
var _15=this.get_events().getHandler("started");
if(_15){
_15(this,Sys.EventArgs.Empty);
}
},add_started:function(_16){
this.get_events().addHandler("started",_16);
},remove_started:function(_17){
this.get_events().removeHandler("started",_17);
},raiseEnded:function(){
var _18=this.get_events().getHandler("ended");
if(_18){
_18(this,Sys.EventArgs.Empty);
}
},add_ended:function(_19){
this.get_events().addHandler("ended",_19);
},remove_ended:function(_1a){
this.get_events().removeHandler("ended",_1a);
},raise_onTick:function(){
var _1b=this.get_events().getHandler("onTick");
if(_1b){
_1b(this,Sys.EventArgs.Empty);
}
},add_onTick:function(_1c){
this.get_events().addHandler("onTick",_1c);
},remove_onTick:function(_1d){
this.get_events().removeHandler("onTick",_1d);
},get_target:function(){
if(!this._target&&this._parentAnimation){
return this._parentAnimation.get_target();
}
return this._target;
},set_target:function(_1e){
if(this._target!=_1e){
this._target=_1e;
this.raisePropertyChanged("target");
}
},set_animationTarget:function(id){
var _20=null;
var _21=$get(id);
if(_21){
_20=_21;
}else{
var _22=$find(id);
if(_22){
_21=_22.get_element();
if(_21){
_20=_21;
}
}
}
if(_20){
this.set_target(_20);
}else{
throw Error.argument("id",String.format("Telerik.Web.Animation.Animation.set_animationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control.  No element or control could be found corresponding to \"{0}\"",id));
}
},get_duration:function(){
return this._duration;
},set_duration:function(_23){
_23=this._getFloat(_23);
if(this._duration!=_23){
this._duration=_23;
this.raisePropertyChanged("duration");
}
},get_fps:function(){
return this._fps;
},set_fps:function(_24){
_24=this._getInteger(_24);
if(this.fps!=_24){
this._fps=_24;
this.raisePropertyChanged("fps");
}
},get_isActive:function(){
return (this._timer!==null);
},get_isPlaying:function(){
return (this._timer!==null)&&this._timer.get_enabled();
},get_percentComplete:function(){
return this._percentComplete;
},_getBoolean:function(_25){
if(String.isInstanceOfType(_25)){
return Boolean.parse(_25);
}
return _25;
},_getInteger:function(_26){
if(String.isInstanceOfType(_26)){
return parseInt(_26);
}
return _26;
},_getFloat:function(_27){
if(String.isInstanceOfType(_27)){
return parseFloat(_27);
}
return _27;
},_getEnum:function(_28,_29){
if(String.isInstanceOfType(_28)&&_29&&_29.parse){
return _29.parse(_28);
}
return _28;
}};
$TWA.Animation.registerClass("Telerik.Web.Animation.Animation",Sys.Component);
$TWA.registerAnimation("animation",$TWA.Animation);
$TWA.ParentAnimation=function(_2a,_2b,fps,_2d){
$TWA.ParentAnimation.initializeBase(this,[_2a,_2b,fps]);
this._animations=[];
if(_2d&&_2d.length){
for(var i=0;i<_2d.length;i++){
this.add(_2d[i]);
}
}
};
$TWA.ParentAnimation.prototype={initialize:function(){
$TWA.ParentAnimation.callBaseMethod(this,"initialize");
if(this._animations){
for(var i=0;i<this._animations.length;i++){
var _30=this._animations[i];
if(_30&&!_30.get_isInitialized){
_30.initialize();
}
}
}
},dispose:function(){
this.clear();
this._animations=null;
$TWA.ParentAnimation.callBaseMethod(this,"dispose");
},get_animations:function(){
return this._animations;
},add:function(_31){
if(this._animations){
if(_31){
_31._parentAnimation=this;
}
Array.add(this._animations,_31);
this.raisePropertyChanged("animations");
}
},remove:function(_32){
if(this._animations){
if(_32){
_32.dispose();
}
Array.remove(this._animations,_32);
this.raisePropertyChanged("animations");
}
},removeAt:function(_33){
if(this._animations){
var _34=this._animations[_33];
if(_34){
_34.dispose();
}
Array.removeAt(this._animations,_33);
this.raisePropertyChanged("animations");
}
},clear:function(){
if(this._animations){
for(var i=this._animations.length-1;i>=0;i--){
this._animations[i].dispose();
this._animations[i]=null;
}
Array.clear(this._animations);
this._animations=[];
this.raisePropertyChanged("animations");
}
}};
$TWA.ParentAnimation.registerClass("Telerik.Web.Animation.ParentAnimation",$TWA.Animation);
$TWA.registerAnimation("parent",$TWA.ParentAnimation);
$TWA.ParallelAnimation=function(_36,_37,fps,_39){
$TWA.ParallelAnimation.initializeBase(this,[_36,_37,fps,_39]);
};
$TWA.ParallelAnimation.prototype={add:function(_3a){
$TWA.ParallelAnimation.callBaseMethod(this,"add",[_3a]);
_3a.setOwner(this);
},onStart:function(){
$TWA.ParallelAnimation.callBaseMethod(this,"onStart");
var _3b=this.get_animations();
for(var i=0;i<_3b.length;i++){
_3b[i].onStart();
}
},onStep:function(_3d){
var _3e=this.get_animations();
for(var i=0;i<_3e.length;i++){
_3e[i].onStep(_3d);
}
},onEnd:function(){
var _40=this.get_animations();
for(var i=0;i<_40.length;i++){
_40[i].onEnd();
}
$TWA.ParallelAnimation.callBaseMethod(this,"onEnd");
}};
$TWA.ParallelAnimation.registerClass("Telerik.Web.Animation.ParallelAnimation",$TWA.ParentAnimation);
$TWA.registerAnimation("parallel",$TWA.ParallelAnimation);
$TWA.FadeEffect=function(){
throw Error.invalidOperation();
};
$TWA.FadeEffect.prototype={FadeIn:0,FadeOut:1};
$TWA.FadeEffect.registerEnum("Telerik.Web.Animation.FadeEffect",false);
$TWA.FadeAnimation=function(_42,_43,fps,_45,_46,_47,_48){
$TWA.FadeAnimation.initializeBase(this,[_42,_43,fps]);
this._effect=(_45!==undefined)?_45:$TWA.FadeEffect.FadeIn;
this._max=(_47!==undefined)?_47:1;
this._min=(_46!==undefined)?_46:0;
this._start=this._min;
this._end=this._max;
this._layoutCreated=false;
this._forceLayoutInIE=(_48===undefined||_48===null)?true:_48;
this._currentTarget=null;
this._resetOpacities();
};
$TWA.FadeAnimation.prototype={_resetOpacities:function(){
if(this._effect==$TWA.FadeEffect.FadeIn){
this._start=this._min;
this._end=this._max;
}else{
this._start=this._max;
this._end=this._min;
}
},_createLayout:function(){
var _49=this._currentTarget;
if(_49){
var _4a=$telerik.getCurrentStyle(_49,"width");
var _4b=$telerik.getCurrentStyle(_49,"height");
var _4c=$telerik.getCurrentStyle(_49,"backgroundColor");
if((!_4a||_4a==""||_4a=="auto")&&(!_4b||_4b==""||_4b=="auto")){
_49.style.width=_49.offsetWidth+"px";
}
if(!_4c||_4c==""||_4c=="transparent"||_4c=="rgba(0, 0, 0, 0)"){
_49.style.backgroundColor=$telerik.getInheritedBackgroundColor(_49);
}
this._layoutCreated=true;
}
},onStart:function(){
$TWA.FadeAnimation.callBaseMethod(this,"onStart");
this._currentTarget=this.get_target();
this.setValue(this._start);
if(this._forceLayoutInIE&&!this._layoutCreated&&Sys.Browser.agent==Sys.Browser.InternetExplorer){
this._createLayout();
}
},getAnimatedValue:function(_4d){
return this.interpolate(this._start,this._end,_4d);
},setValue:function(_4e){
if(this._currentTarget){
$telerik.setOpacity(this._currentTarget,_4e);
}
},get_effect:function(){
return this._effect;
},set_effect:function(_4f){
_4f=this._getEnum(_4f,$TWA.FadeEffect);
if(this._effect!=_4f){
this._effect=_4f;
this._resetOpacities();
this.raisePropertyChanged("effect");
}
},get_minimumOpacity:function(){
return this._min;
},set_minimumOpacity:function(_50){
_50=this._getFloat(_50);
if(this._min!=_50){
this._min=_50;
this._resetOpacities();
this.raisePropertyChanged("minimumOpacity");
}
},get_maximumOpacity:function(){
return this._max;
},set_maximumOpacity:function(_51){
_51=this._getFloat(_51);
if(this._max!=_51){
this._max=_51;
this._resetOpacities();
this.raisePropertyChanged("maximumOpacity");
}
},get_forceLayoutInIE:function(){
return this._forceLayoutInIE;
},set_forceLayoutInIE:function(_52){
_52=this._getBoolean(_52);
if(this._forceLayoutInIE!=_52){
this._forceLayoutInIE=_52;
this.raisePropertyChanged("forceLayoutInIE");
}
},set_startValue:function(_53){
_53=this._getFloat(_53);
this._start=_53;
}};
$TWA.FadeAnimation.registerClass("Telerik.Web.Animation.FadeAnimation",$TWA.Animation);
$TWA.registerAnimation("fade",$TWA.FadeAnimation);
$TWA.FadeInAnimation=function(_54,_55,fps,_57,_58,_59){
$TWA.FadeInAnimation.initializeBase(this,[_54,_55,fps,$TWA.FadeEffect.FadeIn,_57,_58,_59]);
};
$TWA.FadeInAnimation.prototype={onStart:function(){
$TWA.FadeInAnimation.callBaseMethod(this,"onStart");
if(this._currentTarget){
this.set_startValue($telerik.getOpacity(this._currentTarget));
}
}};
$TWA.FadeInAnimation.registerClass("Telerik.Web.Animation.FadeInAnimation",$TWA.FadeAnimation);
$TWA.registerAnimation("fadeIn",$TWA.FadeInAnimation);
$TWA.FadeOutAnimation=function(_5a,_5b,fps,_5d,_5e,_5f){
$TWA.FadeOutAnimation.initializeBase(this,[_5a,_5b,fps,$TWA.FadeEffect.FadeOut,_5d,_5e,_5f]);
};
$TWA.FadeOutAnimation.prototype={onStart:function(){
$TWA.FadeOutAnimation.callBaseMethod(this,"onStart");
if(this._currentTarget){
this.set_startValue($telerik.getOpacity(this._currentTarget));
}
}};
$TWA.FadeOutAnimation.registerClass("Telerik.Web.Animation.FadeOutAnimation",$TWA.FadeAnimation);
$TWA.registerAnimation("fadeOut",$TWA.FadeOutAnimation);
$TWA.PropertyAnimation=function(_60,_61,fps,_63,_64){
$TWA.PropertyAnimation.initializeBase(this,[_60,_61,fps]);
this._property=_63;
this._propertyKey=_64;
this._currentTarget=null;
};
$TWA.PropertyAnimation.prototype={onStart:function(){
$TWA.PropertyAnimation.callBaseMethod(this,"onStart");
this._currentTarget=this.get_target();
},setValue:function(_65){
var _66=this._currentTarget;
if(_66&&this._property&&this._property.length>0){
if(this._propertyKey&&this._propertyKey.length>0&&_66[this._property]){
_66[this._property][this._propertyKey]=_65;
}else{
_66[this._property]=_65;
}
}
},getValue:function(){
var _67=this.get_target();
if(_67&&this._property&&this._property.length>0){
var _68=_67[this._property];
if(_68){
if(this._propertyKey&&this._propertyKey.length>0){
return _68[this._propertyKey];
}
return _68;
}
}
return null;
},get_property:function(){
return this._property;
},set_property:function(_69){
if(this._property!=_69){
this._property=_69;
this.raisePropertyChanged("property");
}
},get_propertyKey:function(){
return this._propertyKey;
},set_propertyKey:function(_6a){
if(this._propertyKey!=_6a){
this._propertyKey=_6a;
this.raisePropertyChanged("propertyKey");
}
}};
$TWA.PropertyAnimation.registerClass("Telerik.Web.Animation.PropertyAnimation",$TWA.Animation);
$TWA.registerAnimation("property",$TWA.PropertyAnimation);
$TWA.DiscreteAnimation=function(_6b,_6c,fps,_6e,_6f,_70){
$TWA.DiscreteAnimation.initializeBase(this,[_6b,_6c,fps,_6e,_6f]);
this._values=(_70&&_70.length)?_70:[];
};
$TWA.DiscreteAnimation.prototype={getAnimatedValue:function(_71){
var _72=Math.floor(this.interpolate(0,this._values.length-1,_71));
return this._values[_72];
},get_values:function(){
return this._values;
},set_values:function(_73){
if(this._values!=_73){
this._values=_73;
this.raisePropertyChanged("values");
}
}};
$TWA.DiscreteAnimation.registerClass("Telerik.Web.Animation.DiscreteAnimation",$TWA.PropertyAnimation);
$TWA.registerAnimation("discrete",$TWA.DiscreteAnimation);
$TWA.InterpolatedAnimation=function(_74,_75,fps,_77,_78,_79,_7a){
$TWA.InterpolatedAnimation.initializeBase(this,[_74,_75,fps,((_77!==undefined)?_77:"style"),_78]);
this._startValue=_79;
this._endValue=_7a;
};
$TWA.InterpolatedAnimation.prototype={get_startValue:function(){
return this._startValue;
},set_startValue:function(_7b){
_7b=this._getFloat(_7b);
if(this._startValue!=_7b){
this._startValue=_7b;
this.raisePropertyChanged("startValue");
}
},get_endValue:function(){
return this._endValue;
},set_endValue:function(_7c){
_7c=this._getFloat(_7c);
if(this._endValue!=_7c){
this._endValue=_7c;
this.raisePropertyChanged("endValue");
}
}};
$TWA.InterpolatedAnimation.registerClass("Telerik.Web.Animation.InterpolatedAnimation",$TWA.PropertyAnimation);
$TWA.registerAnimation("interpolated",$TWA.InterpolatedAnimation);
$TWA.ColorAnimation=function(_7d,_7e,fps,_80,_81,_82,_83){
$TWA.ColorAnimation.initializeBase(this,[_7d,_7e,fps,_80,_81,_82,_83]);
this._start=null;
this._end=null;
this._interpolateRed=false;
this._interpolateGreen=false;
this._interpolateBlue=false;
};
$TWA.ColorAnimation.prototype={onStart:function(){
$TWA.ColorAnimation.callBaseMethod(this,"onStart");
this._start=$TWA.ColorAnimation.getRGB(this.get_startValue());
this._end=$TWA.ColorAnimation.getRGB(this.get_endValue());
this._interpolateRed=(this._start.Red!=this._end.Red);
this._interpolateGreen=(this._start.Green!=this._end.Green);
this._interpolateBlue=(this._start.Blue!=this._end.Blue);
},getAnimatedValue:function(_84){
var r=this._start.Red;
var g=this._start.Green;
var b=this._start.Blue;
if(this._interpolateRed){
r=Math.round(this.interpolate(r,this._end.Red,_84));
}
if(this._interpolateGreen){
g=Math.round(this.interpolate(g,this._end.Green,_84));
}
if(this._interpolateBlue){
b=Math.round(this.interpolate(b,this._end.Blue,_84));
}
return $TWA.ColorAnimation.toColor(r,g,b);
},set_startValue:function(_88){
if(this._startValue!=_88){
this._startValue=_88;
this.raisePropertyChanged("startValue");
}
},set_endValue:function(_89){
if(this._endValue!=_89){
this._endValue=_89;
this.raisePropertyChanged("endValue");
}
}};
$TWA.ColorAnimation.getRGB=function(_8a){
if(!_8a||_8a.length!=7){
throw String.format("Color must be a 7-character hex representation (e.g. #246ACF), not \"{0}\"",_8a);
}
return {"Red":parseInt(_8a.substr(1,2),16),"Green":parseInt(_8a.substr(3,2),16),"Blue":parseInt(_8a.substr(5,2),16)};
};
$TWA.ColorAnimation.toColor=function(red,_8c,_8d){
var r=red.toString(16);
var g=_8c.toString(16);
var b=_8d.toString(16);
if(r.length==1){
r="0"+r;
}
if(g.length==1){
g="0"+g;
}
if(b.length==1){
b="0"+b;
}
return "#"+r+g+b;
};
$TWA.ColorAnimation.registerClass("Telerik.Web.Animation.ColorAnimation",$TWA.InterpolatedAnimation);
$TWA.registerAnimation("color",$TWA.ColorAnimation);
$TWA.LengthAnimation=function(_91,_92,fps,_94,_95,_96,_97,_98){
$TWA.LengthAnimation.initializeBase(this,[_91,_92,fps,_94,_95,_96,_97]);
this._unit=(_98!=null)?_98:"px";
};
$TWA.LengthAnimation.prototype={getAnimatedValue:function(_99){
var _9a=this.interpolate(this.get_startValue(),this.get_endValue(),_99);
return Math.round(_9a)+this._unit;
},get_unit:function(){
return this._unit;
},set_unit:function(_9b){
if(this._unit!=_9b){
this._unit=_9b;
this.raisePropertyChanged("unit");
}
}};
$TWA.LengthAnimation.registerClass("Telerik.Web.Animation.LengthAnimation",$TWA.InterpolatedAnimation);
$TWA.registerAnimation("length",$TWA.LengthAnimation);
$TWA.MoveAnimation=function(_9c,_9d,fps,_9f,_a0,_a1,_a2){
$TWA.MoveAnimation.initializeBase(this,[_9c,_9d,fps,null]);
this._horizontal=_9f?_9f:0;
this._vertical=_a0?_a0:0;
this._relative=(_a1===undefined)?true:_a1;
this._horizontalAnimation=new $TWA.LengthAnimation(_9c,_9d,fps,"style","left",null,null,_a2);
this._verticalAnimation=new $TWA.LengthAnimation(_9c,_9d,fps,"style","top",null,null,_a2);
this.add(this._verticalAnimation);
this.add(this._horizontalAnimation);
};
$TWA.MoveAnimation.prototype={onStart:function(){
$TWA.MoveAnimation.callBaseMethod(this,"onStart");
var _a3=this.get_target();
this._horizontalAnimation.set_startValue(_a3.offsetLeft);
this._horizontalAnimation.set_endValue(this._relative?_a3.offsetLeft+this._horizontal:this._horizontal);
this._verticalAnimation.set_startValue(_a3.offsetTop);
this._verticalAnimation.set_endValue(this._relative?_a3.offsetTop+this._vertical:this._vertical);
},get_horizontal:function(){
return this._horizontal;
},set_horizontal:function(_a4){
_a4=this._getFloat(_a4);
if(this._horizontal!=_a4){
this._horizontal=_a4;
this.raisePropertyChanged("horizontal");
}
},get_vertical:function(){
return this._vertical;
},set_vertical:function(_a5){
_a5=this._getFloat(_a5);
if(this._vertical!=_a5){
this._vertical=_a5;
this.raisePropertyChanged("vertical");
}
},get_relative:function(){
return this._relative;
},set_relative:function(_a6){
_a6=this._getBoolean(_a6);
if(this._relative!=_a6){
this._relative=_a6;
this.raisePropertyChanged("relative");
}
},get_unit:function(){
this._horizontalAnimation.get_unit();
},set_unit:function(_a7){
var _a8=this._horizontalAnimation.get_unit();
if(_a8!=_a7){
this._horizontalAnimation.set_unit(_a7);
this._verticalAnimation.set_unit(_a7);
this.raisePropertyChanged("unit");
}
}};
$TWA.MoveAnimation.registerClass("Telerik.Web.Animation.MoveAnimation",$TWA.ParallelAnimation);
$TWA.registerAnimation("move",$TWA.MoveAnimation);
$TWA.ResizeAnimation=function(_a9,_aa,fps,_ac,_ad,_ae){
$TWA.ResizeAnimation.initializeBase(this,[_a9,_aa,fps,null]);
this._width=_ac;
this._height=_ad;
this._horizontalAnimation=new $TWA.LengthAnimation(_a9,_aa,fps,"style","width",null,null,_ae);
this._verticalAnimation=new $TWA.LengthAnimation(_a9,_aa,fps,"style","height",null,null,_ae);
this.add(this._horizontalAnimation);
this.add(this._verticalAnimation);
};
$TWA.ResizeAnimation.prototype={onStart:function(){
$TWA.ResizeAnimation.callBaseMethod(this,"onStart");
var _af=this.get_target();
this._horizontalAnimation.set_startValue(_af.offsetWidth);
this._verticalAnimation.set_startValue(_af.offsetHeight);
this._horizontalAnimation.set_endValue((this._width!==null&&this._width!==undefined)?this._width:_af.offsetWidth);
this._verticalAnimation.set_endValue((this._height!==null&&this._height!==undefined)?this._height:_af.offsetHeight);
},get_width:function(){
return this._width;
},set_width:function(_b0){
_b0=this._getFloat(_b0);
if(this._width!=_b0){
this._width=_b0;
this.raisePropertyChanged("width");
}
},get_height:function(){
return this._height;
},set_height:function(_b1){
_b1=this._getFloat(_b1);
if(this._height!=_b1){
this._height=_b1;
this.raisePropertyChanged("height");
}
},get_unit:function(){
this._horizontalAnimation.get_unit();
},set_unit:function(_b2){
var _b3=this._horizontalAnimation.get_unit();
if(_b3!=_b2){
this._horizontalAnimation.set_unit(_b2);
this._verticalAnimation.set_unit(_b2);
this.raisePropertyChanged("unit");
}
}};
$TWA.ResizeAnimation.registerClass("Telerik.Web.Animation.ResizeAnimation",$TWA.ParallelAnimation);
$TWA.registerAnimation("resize",$TWA.ResizeAnimation);
Type.registerNamespace("Telerik.Web.UI.Animations");
Telerik.Web.UI.Animations.ShowHideAnimation=function(_b4,_b5,fps,_b7,_b8,_b9){
this.controller=_b4;
this._duration=(_b5!=null)?_b5:0.3;
this._fps=(fps!=null)?fps:50;
this._frames=_b5*fps;
this._position=null!=_b8?_b8:32;
this._animatedElement=_b7;
this._sourceElement=_b9;
this._startBounds=null;
this._endBounds=null;
this._showAnimation=null;
this._hideAnimation=null;
};
Telerik.Web.UI.Animations.ShowHideAnimation.prototype={_getHorizontalPosition:function(){
return parseInt((this._position+"").charAt(1));
},_getVerticalPosition:function(){
return parseInt((this._position+"").charAt(0));
},_onBeforeShow:function(){
},_onBeforeHide:function(){
},_onAfterShow:function(){
},_onAfterHide:function(){
},onShowStart:function(){
},onHideStart:function(){
},onShowEnd:function(){
},onHideEnd:function(){
},play:function(_ba){
var _bb=(true==_ba)?this._hideAnimation:this._showAnimation;
if(_bb){
this.stop();
if(!_bb.__isTelerikModified){
var _bc=this;
_bb.__isTelerikModified=true;
var _bd=_bb.onStart;
_bb.onStart=function(){
if(_ba){
_bc.onHideStart();
}else{
_bc.onShowStart();
}
if(true==_ba){
_bc._onBeforeHide();
}else{
_bc._onBeforeShow();
}
if(_bd){
_bd.call(this);
}
};
var _be=_bb.onEnd;
_bb.onEnd=function(){
if(_be){
_be.call(this);
}
if(_bc.onEnd){
_bc.onEnd(_ba);
}
if(true==_ba){
_bc._onAfterHide();
}else{
_bc._onAfterShow();
}
if(_ba){
_bc.onHideEnd();
}else{
_bc.onShowEnd();
}
};
}
_bb.play();
}
this._runningAnimation=_bb;
},set_startBounds:function(_bf){
this._startBounds=_bf;
},set_endBounds:function(_c0){
this._endBounds=_c0;
},dispose:function(){
this.stop();
if(this._showAnimation){
this._showAnimation.dispose();
}
if(this._hideAnimation){
this._hideAnimation.dispose();
}
},stop:function(){
if(this._runningAnimation){
this._runningAnimation.stop();
this._runningAnimation=null;
}
}};
Telerik.Web.UI.Animations.ShowHideAnimation.registerClass("Telerik.Web.UI.Animations.ShowHideAnimation",null);
Telerik.Web.UI.Animations.ResizeAnimation=function(_c1,_c2,fps,_c4,_c5,_c6){
Telerik.Web.UI.Animations.ResizeAnimation.initializeBase(this,[_c1,_c2,fps,_c4,_c5,_c6]);
var _c2=this._duration;
var fps=this._fps;
var _c7=this._animatedElement;
var _c8,_c9,_ca,_cb,_cc,_cd;
var _ce=new Telerik.Web.Animation.ResizeAnimation(_c7,_c2,fps,_c8,_c9,"px");
var _cf=new Telerik.Web.Animation.LengthAnimation(_c7,_c2,fps,"style","left",_cc,_cd,"px");
var _d0=new Telerik.Web.Animation.LengthAnimation(_c7,_c2,fps,"style","top",_ca,_cb,"px");
var _d1=new Telerik.Web.Animation.FadeInAnimation(_c7,_c2,fps,0.3,1,false);
this._showAnimation=new Telerik.Web.Animation.ParallelAnimation(_c7,_c2,fps,[_ce,_cf,_d0,_d1]);
this._hideAnimation=new Telerik.Web.Animation.FadeInAnimation(this._animatedElement,this._duration,this._fps,1,0,false);
};
Telerik.Web.UI.Animations.ResizeAnimation.prototype={_configureAnimatedElement:function(){
var _d2=this._animatedElement;
_d2.style.overflow="hidden";
_d2.style.display="";
_d2.style.visibility="visible";
_d2.style.width="1px";
_d2.style.height="1px";
},_configureAnimation:function(_d3){
var _d4=this._showAnimation.get_animations();
var _d5=_d4[0];
_d5.set_width(_d3.width);
_d5.set_height(_d3.height);
var _d6=_d4[1];
_d6.set_startValue(_d3.startX);
_d6.set_endValue(_d3.endX);
var _d7=_d4[2];
_d7.set_startValue(_d3.startY);
_d7.set_endValue(_d3.endY);
},_getStartBounds:function(){
var _d8=null;
if(this._startBounds){
_d8=this._startBounds;
}else{
if(this._sourceElement){
_d8=$telerik.getBounds(this._sourceElement);
}else{
_d8=new Sys.UI.Bounds(1,1,1,1);
}
}
return _d8;
},_getEndBounds:function(){
return this._endBounds;
},_modifyAnimationValues:function(_d9){
var _da=this._animatedElement;
var _db=this._getStartBounds();
if(_db.width<_d9.width){
_d9.startX=_db.x;
_da.style.width=_db.width;
}
if(_db.height<_d9.height){
_d9.startY=_db.y;
_da.style.height=_db.height;
}
},_setHorizontalValues:function(_dc){
var _dd=this._getHorizontalPosition();
var _de=this._getEndBounds();
switch(_dd){
case 2:
_dc.startX=_de.x+Math.floor(_de.width/2);
_dc.endX=_de.x;
break;
case 3:
_dc.startX=_de.x;
_dc.endX=_de.x;
break;
case 1:
_dc.startX=_de.x+_de.width;
_dc.endX=_de.x;
}
},_setVerticalValues:function(_df){
var _e0=this._getVerticalPosition();
var _e1=this._getEndBounds();
switch(_e0){
case 2:
_df.startY=_e1.y+Math.floor(_e1.height/2);
_df.endY=_e1.y;
break;
case 1:
_df.startY=_e1.y+_e1.height;
_df.endY=_e1.y;
break;
case 3:
_df.startY=_e1.y;
_df.endY=_e1.y;
}
},_setSizeValues:function(_e2){
var _e3=this._endBounds;
_e2["width"]=_e3.width;
_e2["height"]=_e3.height;
},_onBeforeShow:function(){
var _e4={};
this._setHorizontalValues(_e4);
this._setVerticalValues(_e4);
this._setSizeValues(_e4);
this._configureAnimatedElement();
this._modifyAnimationValues(_e4);
this._configureAnimation(_e4);
},_onAfterShow:function(){
this._animatedElement.style.overflow="";
this._animatedElement.style.filter="";
}};
Telerik.Web.UI.Animations.ResizeAnimation.registerClass("Telerik.Web.UI.Animations.ResizeAnimation",Telerik.Web.UI.Animations.ShowHideAnimation);
Telerik.Web.UI.Animations.SlideAnimation=function(_e5,_e6,fps,_e8,_e9,_ea){
Telerik.Web.UI.Animations.SlideAnimation.initializeBase(this,[_e5,_e6,fps,_e8,_e9,_ea]);
};
Telerik.Web.UI.Animations.SlideAnimation.prototype={_modifyAnimationValues:function(_eb){
},_configureAnimatedElement:function(){
var _ec=this._animatedElement;
_ec.style.overflow="hidden";
_ec.style.display="";
_ec.style.visibility="visible";
var _ed=this._getVerticalPosition();
if(_ed==2){
_ec.style.width="1px";
}else{
_ec.style.height="1px";
}
},_setHorizontalValues:function(_ee){
var _ef=this._getHorizontalPosition();
var _f0=this._getEndBounds();
switch(_ef){
case 2:
_ee.startX=_f0.x;
_ee.endX=_f0.x;
break;
case 3:
_ee.startX=_f0.x;
_ee.endX=_f0.x;
break;
case 1:
var _f1=_f0.x;
if(2==this._getVerticalPosition()){
_f1+=_f0.width;
}
_ee.startX=_f1;
_ee.endX=_f0.x;
}
},_setVerticalValues:function(_f2){
var _f3=this._getVerticalPosition();
var _f4=this._getEndBounds();
switch(_f3){
case 2:
_f2.startY=_f4.y;
_f2.endY=_f4.y;
break;
case 1:
_f2.startY=_f4.y+_f4.height;
_f2.endY=_f4.y;
break;
case 3:
_f2.startY=_f4.y;
_f2.endY=_f4.y;
}
}};
Telerik.Web.UI.Animations.SlideAnimation.registerClass("Telerik.Web.UI.Animations.SlideAnimation",Telerik.Web.UI.Animations.ResizeAnimation);
Telerik.Web.UI.Animations.FlyInAnimation=function(_f5,_f6,fps,_f8,_f9,_fa){
Telerik.Web.UI.Animations.FlyInAnimation.initializeBase(this,[_f5,_f6,fps,_f8,_f9,_fa]);
};
Telerik.Web.UI.Animations.FlyInAnimation.prototype={_modifyAnimationValues:function(_fb){
},_setHorizontalValues:function(_fc){
var _fd=this._getHorizontalPosition();
var _fe=this._getEndBounds();
var _ff=$telerik.getClientBounds();
switch(_fd){
case 2:
_fc.startX=_fe.x;
_fc.endX=_fe.x;
break;
case 3:
_fc.startX=_ff.width;
_fc.endX=_fe.x;
break;
case 1:
_fc.startX=_ff.x;
_fc.endX=_fe.x;
}
},_setVerticalValues:function(_100){
var _101=this._getVerticalPosition();
var _102=this._getEndBounds();
var _103=$telerik.getClientBounds();
switch(_101){
case 2:
_100.startY=_102.y;
_100.endY=_102.y;
break;
case 1:
_100.startY=_103.y-_102.height;
_100.endY=_102.y;
break;
case 3:
_100.startY=_103.height;
_100.endY=_102.y;
}
}};
Telerik.Web.UI.Animations.FlyInAnimation.registerClass("Telerik.Web.UI.Animations.FlyInAnimation",Telerik.Web.UI.Animations.ResizeAnimation);
Telerik.Web.UI.Animations.FadeAnimation=function(_104,_105,fps,_107){
Telerik.Web.UI.Animations.FadeAnimation.initializeBase(this,[_104,_105,fps,_107]);
this._showAnimation=new Telerik.Web.Animation.FadeInAnimation(this._animatedElement,this._duration,this._fps,0.5,1,false);
this._hideAnimation=new Telerik.Web.Animation.FadeInAnimation(this._animatedElement,this._duration,this._fps,0.9,0,false);
};
Telerik.Web.UI.Animations.FadeAnimation.prototype={_onAfterShow:function(){
this._animatedElement.style.filter="";
}};
Telerik.Web.UI.Animations.FadeAnimation.registerClass("Telerik.Web.UI.Animations.FadeAnimation",Telerik.Web.UI.Animations.ShowHideAnimation);


/* END Telerik.Web.UI.Common.Animation.AnimationScripts.js */
/* START Telerik.Web.UI.Common.Navigation.NavigationScripts.js */
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.AnimationType=function(){
};
Telerik.Web.UI.AnimationType.prototype={None:0,Linear:1,InQuad:2,OutQuad:3,InOutQuad:4,InCubic:5,OutCubic:6,InOutCubic:7,InQuart:8,OutQuart:9,InOutQuart:10,InQuint:11,OutQuint:12,InOutQuint:13,InSine:14,OutSine:15,InOutSine:16,InExpo:17,OutExpo:18,InOutExpo:19,InBack:20,OutBack:21,InOutBack:22,InBounce:23,OutBounce:24,InOutBounce:25,InElastic:26,OutElastic:27,InOutElastic:28};
Telerik.Web.UI.AnimationType.registerEnum("Telerik.Web.UI.AnimationType");
Telerik.Web.UI.AnimationFunctions=function(){
};
Telerik.Web.UI.AnimationFunctions.CalculateAnimationPoints=function(_1,_2,_3,_4){
if(_2==_3){
return [_3+"px"];
}
var _5=_1.get_duration()/1000;
var _6=Math.round((_5)*_4);
var _7=Telerik.Web.UI.AnimationFunctions[_1.get_type()];
var _8=new Array();
var _9=Math.max(_2,_3)-Math.min(_2,_3);
var _a=_2<_3?1:-1;
var _b=0;
_8[0]=_2+"px";
for(var _c=0;_c<_6;_c++){
var _d=_7(_c/_4,0,_9,_5);
if(_c>0){
var _e=parseInt(_8[_c-1]);
var _f=_a*(Math.round(_d)-Math.round(_b));
_8[_c]=(_e+_f)+"px";
}
_b=_d;
}
_8[_6-1]=_3+"px";
return _8;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.Linear]=function(t,b,c,d){
return c*t/d+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InQuad]=function(t,b,c,d){
return c*(t/=d)*t+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutQuad]=function(t,b,c,d){
return -c*(t/=d)*(t-2)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutQuad]=function(t,b,c,d){
if((t/=d/2)<1){
return c/2*t*t+b;
}
return -c/2*((--t)*(t-2)-1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InCubic]=function(t,b,c,d){
return c*(t/=d)*t*t+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutCubic]=function(t,b,c,d){
return c*((t=t/d-1)*t*t+1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutCubic]=function(t,b,c,d){
if((t/=d/2)<1){
return c/2*t*t*t+b;
}
return c/2*((t-=2)*t*t+2)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InQuart]=function(t,b,c,d){
return c*(t/=d)*t*t*t+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutQuart]=function(t,b,c,d){
return -c*((t=t/d-1)*t*t*t-1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutQuart]=function(t,b,c,d){
if((t/=d/2)<1){
return c/2*t*t*t*t+b;
}
return -c/2*((t-=2)*t*t*t-2)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InQuint]=function(t,b,c,d){
return c*(t/=d)*t*t*t*t+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutQuint]=function(t,b,c,d){
return c*((t=t/d-1)*t*t*t*t+1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutQuint]=function(t,b,c,d){
if((t/=d/2)<1){
return c/2*t*t*t*t*t+b;
}
return c/2*((t-=2)*t*t*t*t+2)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InSine]=function(t,b,c,d){
return -c*Math.cos(t/d*(Math.PI/2))+c+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutSine]=function(t,b,c,d){
return c*Math.sin(t/d*(Math.PI/2))+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutSine]=function(t,b,c,d){
return -c/2*(Math.cos(Math.PI*t/d)-1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InExpo]=function(t,b,c,d){
return (t==0)?b:c*Math.pow(2,10*(t/d-1))+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutExpo]=function(t,b,c,d){
return (t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutExpo]=function(t,b,c,d){
if(t==0){
return b;
}
if(t==d){
return b+c;
}
if((t/=d/2)<1){
return c/2*Math.pow(2,10*(t-1))+b;
}
return c/2*(-Math.pow(2,-10*--t)+2)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InCirc]=function(t,b,c,d){
return -c*(Math.sqrt(1-(t/=d)*t)-1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutCirc]=function(t,b,c,d){
return c*Math.sqrt(1-(t=t/d-1)*t)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutCirc]=function(t,b,c,d){
if((t/=d/2)<1){
return -c/2*(Math.sqrt(1-t*t)-1)+b;
}
return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InElastic]=function(t,b,c,d,a,p){
if(t==0){
return b;
}
if((t/=d)==1){
return b+c;
}
if(!p){
p=d*0.3;
}
if((!a)||a<Math.abs(c)){
a=c;
var s=p/4;
}else{
var s=p/(2*Math.PI)*Math.asin(c/a);
}
return -(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutElastic]=function(t,b,c,d,a,p){
if(t==0){
return b;
}
if((t/=d)==1){
return b+c;
}
if(!p){
p=d*0.3;
}
if((!a)||a<Math.abs(c)){
a=c;
var s=p/4;
}else{
var s=p/(2*Math.PI)*Math.asin(c/a);
}
return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutElastic]=function(t,b,c,d,a,p){
if(t==0){
return b;
}
if((t/=d/2)==2){
return b+c;
}
if(!p){
p=d*(0.3*1.5);
}
if((!a)||a<Math.abs(c)){
a=c;
var s=p/4;
}else{
var s=p/(2*Math.PI)*Math.asin(c/a);
}
if(t<1){
return -0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
}
return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*0.5+c+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InBack]=function(t,b,c,d,s){
if(s==undefined){
s=1.70158;
}
return c*(t/=d)*t*((s+1)*t-s)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutBack]=function(t,b,c,d,s){
if(s==undefined){
s=1.70158;
}
return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutBack]=function(t,b,c,d,s){
if(s==undefined){
s=1.70158;
}
if((t/=d/2)<1){
return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;
}
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InBounce]=function(t,b,c,d){
return c-Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutBounce](d-t,0,c,d)+b;
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutBounce]=function(t,b,c,d){
if((t/=d)<(1/2.75)){
return c*(7.5625*t*t)+b;
}else{
if(t<(2/2.75)){
return c*(7.5625*(t-=(1.5/2.75))*t+0.75)+b;
}else{
if(t<(2.5/2.75)){
return c*(7.5625*(t-=(2.25/2.75))*t+0.9375)+b;
}else{
return c*(7.5625*(t-=(2.625/2.75))*t+0.984375)+b;
}
}
}
};
Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InOutBounce]=function(t,b,c,d){
if(t<d/2){
return Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.InBounce](t*2,0,c,d)*0.5+b;
}
return Telerik.Web.UI.AnimationFunctions[Telerik.Web.UI.AnimationType.OutBounce](t*2-d,0,c,d)*0.5+c*0.5+b;
};
Telerik.Web.UI.AnimationFunctions.registerClass("Telerik.Web.UI.AnimationFunctions");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.AnimationSettings=function(_98){
this._type=Telerik.Web.UI.AnimationType.OutQuart;
this._duration=300;
if(typeof (_98.type)!="undefined"){
this._type=_98.type;
}
if(typeof (_98.duration)!="undefined"){
this._duration=_98.duration;
}
};
Telerik.Web.UI.AnimationSettings.prototype={get_type:function(){
return this._type;
},set_type:function(_99){
this._type=_99;
},get_duration:function(){
return this._duration;
},set_duration:function(_9a){
this._duration=_9a;
}};
Telerik.Web.UI.AnimationSettings.registerClass("Telerik.Web.UI.AnimationSettings");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.AttributeCollection=function(_9b){
this._owner=_9b;
this._data={};
this._keys=[];
};
Telerik.Web.UI.AttributeCollection.prototype={getAttribute:function(key){
return this._data[key];
},setAttribute:function(key,_9e){
this._add(key,_9e);
var _9f={};
_9f[key]=_9e;
this._owner._notifyPropertyChanged("attributes",_9f);
},_add:function(key,_a1){
if(Array.indexOf(this._keys,key)<0){
Array.add(this._keys,key);
}
this._data[key]=_a1;
},removeAttribute:function(key){
Array.remove(this._keys,key);
delete this._data[key];
},_load:function(_a3){
for(var key in _a3){
this._add(key,_a3[key]);
}
},get_count:function(){
return this._keys.length;
}};
Telerik.Web.UI.AttributeCollection.registerClass("Telerik.Web.UI.AttributeCollection");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ChangeLog=function(){
this._opCodeInsert=1;
this._opCodeDelete=2;
this._opCodeClear=3;
this._opCodePropertyChanged=4;
this._logEntries=null;
};
Telerik.Web.UI.ChangeLog.prototype={initialize:function(){
this._logEntries=[];
this._serializedEntries=null;
},logInsert:function(_a5){
var _a6={};
_a6.Type=this._opCodeInsert;
_a6.Index=_a5._getHierarchicalIndex();
_a6.Data=_a5._getData();
Array.add(this._logEntries,_a6);
},logDelete:function(_a7){
var _a8={};
_a8.Type=this._opCodeDelete;
_a8.Index=_a7._getHierarchicalIndex();
Array.add(this._logEntries,_a8);
},logClear:function(_a9){
var _aa={};
_aa.Type=this._opCodeClear;
if(_a9._getHierarchicalIndex){
_aa.Index=_a9._getHierarchicalIndex();
}
Array.add(this._logEntries,_aa);
},logPropertyChanged:function(_ab,_ac,_ad){
var _ae={};
_ae.Type=this._opCodePropertyChanged;
_ae.Index=_ab._getHierarchicalIndex();
_ae.Data={};
_ae.Data[_ac]=_ad;
Array.add(this._logEntries,_ae);
},serialize:function(){
if(this._logEntries.length==0){
if(this._serializedEntries==null){
return "[]";
}
return this._serializedEntries;
}
var _af=Sys.Serialization.JavaScriptSerializer.serialize(this._logEntries);
if(this._serializedEntries==null){
this._serializedEntries=_af;
}else{
this._serializedEntries=this._serializedEntries.substring(0,this._serializedEntries.length-1)+","+_af.substring(1);
}
this._logEntries=[];
return this._serializedEntries;
}};
Telerik.Web.UI.ChangeLog.registerClass("Telerik.Web.UI.ChangeLog");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.PropertyBag=function(_b0){
Telerik.Web.UI.PropertyBag.initializeBase(this);
this._data={};
this._owner=_b0;
};
Telerik.Web.UI.PropertyBag.prototype={getValue:function(_b1,_b2){
var _b3=this._data[_b1];
if(typeof (_b3)==="undefined"){
return _b2;
}
return _b3;
},setValue:function(_b4,_b5,_b6){
this._data[_b4]=_b5;
if(_b6){
this._owner._notifyPropertyChanged(_b4,_b5);
}
},load:function(_b7){
this._data=_b7;
}};
Telerik.Web.UI.PropertyBag.registerClass("Telerik.Web.UI.PropertyBag");
Telerik.Web.UI.ControlItem=function(){
this._element=null;
this._parent=null;
this._text=null;
this._children=null;
this._childControlsCreated=false;
this._itemData=null;
this._control=null;
this._properties=new Telerik.Web.UI.PropertyBag(this);
this._attributes=new Telerik.Web.UI.AttributeCollection(this);
};
Telerik.Web.UI.ControlItem.prototype={_shouldNavigate:function(){
var _b8=this.get_navigateUrl();
if(!_b8){
return false;
}
return !_b8.endsWith("#");
},_getNavigateUrl:function(){
if(this.get_linkElement()){
return this._properties.getValue("navigateUrl",this.get_linkElement().getAttribute("href",2));
}
return this._properties.getValue("navigateUrl",null);
},_initialize:function(_b9,_ba){
this.set_element(_ba);
this._properties.load(_b9);
if(typeof (_b9["attributes"])!="undefined"){
this._attributes._load(_b9["attributes"]);
}
this._itemData=_b9["items"];
},_dispose:function(){
if(this._children){
this._children.forEach(function(_bb){
_bb._dispose();
});
}
if(this._element){
this._element._item=null;
this._element=null;
}
if(this._control){
this._control=null;
}
},_initializeRenderedItem:function(){
var _bc=this._children;
if(!_bc||_bc.get_count()<1){
return;
}
var _bd=this._getChildElements();
Sys.Debug.assert(_bc.get_count()==_bd.length,"Length of elements and child items must be the same!");
for(var i=0,_bf=_bc.get_count();i<_bf;i++){
var _c0=_bc.getItem(i);
if(!_c0.get_element()){
_c0.set_element(_bd[i]);
if(this._shouldInitializeChild(_c0)){
_c0._initializeRenderedItem();
}
}
}
},get_attributes:function(){
return this._attributes;
},get_element:function(){
return this._element;
},set_element:function(_c1){
this._element=_c1;
this._element._item=this;
this._element._itemTypeName=Object.getTypeName(this);
},get_parent:function(){
return this._parent;
},set_parent:function(_c2){
this._parent=_c2;
},get_text:function(){
if(this._text!==null){
return this._text;
}
if(this._text=this._properties.getValue("text","")){
return this._text;
}
if(!this.get_element()){
return "";
}
var _c3=this.get_textElement();
if(!_c3){
return "";
}
if(typeof (_c3.innerText)!="undefined"){
this._text=_c3.innerText;
}else{
this._text=_c3.textContent;
}
if($telerik.isSafari2){
this._text=_c3.innerHTML;
}
return this._text;
},set_text:function(_c4){
var _c5=this.get_textElement();
if(_c5){
_c5.innerHTML=_c4;
}
this._text=_c4;
this._properties.setValue("text",_c4,true);
},get_value:function(){
return this._properties.getValue("value",null);
},set_value:function(_c6){
this._properties.setValue("value",_c6,true);
},get_itemData:function(){
return this._itemData;
},get_index:function(){
if(!this.get_parent()){
return -1;
}
return this.get_parent()._getChildren().indexOf(this);
},set_enabled:function(_c7){
this._properties.setValue("enabled",_c7,true);
},get_enabled:function(){
return this._properties.getValue("enabled",true)==true;
},get_isEnabled:function(){
var _c8=this._getControl();
if(_c8){
return _c8.get_enabled()&&this.get_enabled();
}
return this.get_enabled();
},set_visible:function(_c9){
this._properties.setValue("visible",_c9);
},get_visible:function(){
return this._properties.getValue("visible",true);
},get_level:function(){
var _ca=this.get_parent();
var _cb=0;
while(_ca){
if(Telerik.Web.UI.ControlItemContainer.isInstanceOfType(_ca)){
return _cb;
}
_cb++;
_ca=_ca.get_parent();
}
return _cb;
},get_isLast:function(){
return this.get_index()==this.get_parent()._getChildren().get_count()-1;
},get_isFirst:function(){
return this.get_index()==0;
},get_nextSibling:function(){
if(!this.get_parent()){
return null;
}
return this.get_parent()._getChildren().getItem(this.get_index()+1);
},get_previousSibling:function(){
if(!this.get_parent()){
return null;
}
return this.get_parent()._getChildren().getItem(this.get_index()-1);
},_getHierarchicalIndex:function(){
var _cc=[];
var _cd=this;
while(!Telerik.Web.UI.ControlItemContainer.isInstanceOfType(_cd)){
Array.insert(_cc,0,_cd.get_index());
_cd=_cd.get_parent();
}
return _cc.join(":");
},_getChildren:function(){
this._ensureChildControls();
return this._children;
},_ensureChildControls:function(){
if(!this._childControlsCreated){
this._createChildControls();
this._childControlsCreated=true;
}
},_setCssClass:function(_ce,_cf){
if(_ce.className!=_cf){
_ce.className=_cf;
}
},_createChildControls:function(){
this._children=this._createItemCollection();
},_createItemCollection:function(){
},_getControl:function(){
if(!this._control){
var _d0=this.get_parent();
if(_d0){
if(Telerik.Web.UI.ControlItemContainer.isInstanceOfType(_d0)){
this._control=_d0;
}else{
this._control=_d0._getControl();
}
}
}
return this._control;
},_getAllItems:function(){
var _d1=[];
this._getAllItemsRecursive(_d1,this);
return _d1;
},_getAllItemsRecursive:function(_d2,_d3){
var _d4=_d3._getChildren();
for(var i=0;i<_d4.get_count();i++){
var _d6=_d4.getItem(i);
Array.add(_d2,_d6);
this._getAllItemsRecursive(_d2,_d6);
}
},_getData:function(){
var _d7=this._properties._data;
delete _d7.items;
_d7["text"]=this.get_text();
if(this.get_attributes().get_count()>0){
_d7["attributes"]=this.get_attributes()._data;
}
return _d7;
},_notifyPropertyChanged:function(_d8,_d9){
var _da=this._getControl();
if(_da){
_da._itemPropertyChanged(this,_d8,_d9);
}
},_loadFromDictionary:function(_db){
if(typeof (_db.Text)!="undefined"){
this.set_text(_db.Text);
}
if(typeof (_db.Value)!="undefined"&&_db.Value!==""){
this.set_value(_db.Value);
}
if(typeof (_db.Enabled)!="undefined"&&_db.Enabled!==true){
this.set_enabled(_db.Enabled);
}
var _dc=this.get_attributes();
for(var _dd in _db.Attributes){
_dc.setAttribute(_dd,_db.Attributes[_dd]);
}
},_createDomElement:function(){
var _de=document.createElement("ul");
var _df=[];
this._render(_df);
_de.innerHTML=_df.join("");
return _de.firstChild;
}};
Telerik.Web.UI.ControlItem.registerClass("Telerik.Web.UI.ControlItem");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ControlItemCollection=function(_e0){
this._array=new Array();
this._parent=_e0;
this._control=null;
};
Telerik.Web.UI.ControlItemCollection.prototype={add:function(_e1){
var _e2=this._array.length;
this.insert(_e2,_e1);
},insert:function(_e3,_e4){
var _e5=_e4.get_parent();
var _e6=this._parent._getControl();
if(_e5){
_e5._getChildren().remove(_e4);
}
if(_e6){
_e6._childInserting(_e3,_e4,this._parent);
}
Array.insert(this._array,_e3,_e4);
_e4.set_parent(this._parent);
if(_e6){
_e6._childInserted(_e3,_e4,this._parent);
_e6._logInserted(_e4);
}
},remove:function(_e7){
var _e8=this._parent._getControl();
if(_e8){
_e8._childRemoving(_e7);
}
Array.remove(this._array,_e7);
if(_e8){
_e8._childRemoved(_e7,this._parent);
}
_e7.set_parent(null);
_e7._control=null;
},removeAt:function(_e9){
var _ea=this.getItem(_e9);
if(_ea){
this.remove(_ea);
}
},clear:function(){
var _eb=this._parent._getControl();
if(_eb){
_eb._logClearing(this._parent);
_eb._childrenCleared(this._parent);
}
this._array=new Array();
},get_count:function(){
return this._array.length;
},getItem:function(_ec){
return this._array[_ec];
},indexOf:function(_ed){
return Array.indexOf(this._array,_ed);
},forEach:function(_ee){
for(var i=0,_f0=this.get_count();i<_f0;i++){
_ee(this._array[i]);
}
}};
Telerik.Web.UI.ControlItemCollection.registerClass("Telerik.Web.UI.ControlItemCollection");
function WebForm_CallbackComplete(){
for(var i=0;i<__pendingCallbacks.length;i++){
var _f2=__pendingCallbacks[i];
if(_f2&&_f2.xmlRequest&&(_f2.xmlRequest.readyState==4)){
__pendingCallbacks[i]=null;
WebForm_ExecuteCallback(_f2);
if(!_f2.async){
__synchronousCallBackIndex=-1;
}
var _f3="__CALLBACKFRAME"+i;
var _f4=document.getElementById(_f3);
if(_f4){
_f4.parentNode.removeChild(_f4);
}
}
}
}
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ControlItemContainer=function(_f5){
Telerik.Web.UI.ControlItemContainer.initializeBase(this,[_f5]);
this._childControlsCreated=false;
this._enabled=true;
this._log=new Telerik.Web.UI.ChangeLog();
this._enableClientStatePersistence=false;
this._eventMap=new Telerik.Web.UI.EventMap();
this._attributes=new Telerik.Web.UI.AttributeCollection(this);
this._children=null;
};
Telerik.Web.UI.ControlItemContainer.prototype={initialize:function(){
Telerik.Web.UI.ControlItemContainer.callBaseMethod(this,"initialize");
this._ensureChildControls();
this._log.initialize();
this._eventMap.initialize(this);
},dispose:function(){
this._eventMap.dispose();
for(var i=0;i<this._getChildren().get_count();i++){
this._getChildren().getItem(i)._dispose();
}
Telerik.Web.UI.ControlItemContainer.callBaseMethod(this,"dispose");
},trackChanges:function(){
this._enableClientStatePersistence=true;
},set_enabled:function(_f7){
this._enabled=_f7;
},get_enabled:function(){
return this._enabled;
},commitChanges:function(){
this.updateClientState();
this._enableClientStatePersistence=false;
},get_attributes:function(){
return this._attributes;
},set_attributes:function(_f8){
this._attributes._load(_f8);
},_getChildren:function(){
this._ensureChildControls();
return this._children;
},_extractErrorMessage:function(_f9){
if(_f9.get_message){
return _f9.get_message();
}else{
return _f9.replace(/(\d*\|.*)/,"");
}
},_notifyPropertyChanged:function(_fa,_fb){
},_childInserting:function(_fc,_fd,_fe){
},_childInserted:function(_ff,item,_101){
if(!_101._childControlsCreated){
return;
}
if(!_101.get_element()){
return;
}
itemElement=item._createDomElement();
var _102=_101.get_childListElement();
if(!_102){
_102=_101._createChildListElement();
}
var _103=item.get_nextSibling();
var _104=_103?_103.get_element():null;
_101.get_childListElement().insertBefore(itemElement,_104);
if(!item.get_element()){
item.set_element(itemElement);
item._initializeRenderedItem();
}else{
item.set_element(itemElement);
}
},_childrenCleared:function(_105){
for(var i=0;i<_105._getChildren().get_count();i++){
_105._getChildren().getItem(i)._dispose();
}
var _107=_105.get_childListElement();
if(_107){
_107.innerHTML="";
}
},_childRemoving:function(_108){
this._logRemoving(_108);
},_childRemoved:function(item,_10a){
item._dispose();
},_createChildListElement:function(){
throw Error.notImplemeneted();
},_createDomElement:function(){
throw Error.notImplemented();
},_getControl:function(){
return this;
},_logInserted:function(item){
if(!item.get_parent()._childControlsCreated||!this._enableClientStatePersistence){
return;
}
this._log.logInsert(item);
var _10c=item._getAllItems();
for(var i=0;i<_10c.length;i++){
this._log.logInsert(_10c[i]);
}
},_logRemoving:function(item){
if(this._enableClientStatePersistence){
this._log.logDelete(item);
}
},_logClearing:function(item){
if(this._enableClientStatePersistence){
this._log.logClear(item);
}
},_itemPropertyChanged:function(item,_111,_112){
if(this._enableClientStatePersistence){
this._log.logPropertyChanged(item,_111,_112);
}
},_ensureChildControls:function(){
if(!this._childControlsCreated){
this._createChildControls();
this._childControlsCreated=true;
}
},_extractItemFromDomElement:function(_113){
this._ensureChildControls();
while(_113&&_113.nodeType!==9){
if(_113._item&&this._verifyChildType(_113._itemTypeName)){
return _113._item;
}
_113=_113.parentNode;
}
return null;
},_verifyChildType:function(_114){
return _114===this._childTypeName;
},_getAllItems:function(){
var _115=[];
for(var i=0;i<this._getChildren().get_count();i++){
var item=this._getChildren().getItem(i);
Array.add(_115,item);
Array.addRange(_115,item._getAllItems());
}
return _115;
},_findItemByText:function(text){
var _119=this._getAllItems();
for(var i=0;i<_119.length;i++){
if(_119[i].get_text()==text){
return _119[i];
}
}
return null;
},_findItemByValue:function(_11b){
var _11c=this._getAllItems();
for(var i=0;i<_11c.length;i++){
if(_11c[i].get_value()==_11b){
return _11c[i];
}
}
return null;
},_findItemByAttribute:function(_11e,_11f){
var _120=this._getAllItems();
for(var i=0;i<_120.length;i++){
if(_120[i].get_attributes().getAttribute(_11e)==_11f){
return _120[i];
}
}
return null;
},_findItemByHierarchicalIndex:function(_122){
var _123=null;
var _124=this;
var _125=_122.split(":");
for(var i=0;i<_125.length;i++){
var _127=parseInt(_125[i]);
if(_124._getChildren().get_count()<=_127){
return null;
}
_123=_124._getChildren().getItem(_127);
_124=_123;
}
return _123;
}};
Telerik.Web.UI.ControlItemContainer.registerClass("Telerik.Web.UI.ControlItemContainer",Telerik.Web.UI.RadWebControl);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.EventMap=function(){
this._owner=null;
this._element=null;
this._eventMap={};
this._onDomEventDelegate=null;
};
Telerik.Web.UI.EventMap.prototype={initialize:function(_128,_129){
this._owner=_128;
if(!_129){
_129=this._owner.get_element();
}
this._element=_129;
},dispose:function(){
if(this._onDomEventDelegate){
for(var _12a in this._eventMap){
$removeHandler(this._element,_12a,this._onDomEventDelegate);
}
this._onDomEventDelegate=null;
}
},addHandlerForClassName:function(_12b,_12c,_12d){
if(typeof (this._eventMap[_12b])=="undefined"){
this._eventMap[_12b]={};
$addHandler(this._element,_12b,this._getDomEventDelegate());
}
var _12e=this._eventMap[_12b];
_12e[_12c]=_12d;
},_onDomEvent:function(e){
var _130=this._eventMap[e.type];
if(!_130){
return;
}
var _131=e.target;
while(_131&&_131.nodeType!==9){
var _132=_131.className;
var _133=_132.indexOf(" ");
if(_133>=0){
_132=_132.substr(0,_133);
}
var _134=_130[_132];
if(_134){
this._fillEventFields(e,_131);
if(_134.call(this._owner,e)!=true){
if(!_131.parentNode){
e.stopPropagation();
}
return;
}
}
if(_131==this._element){
return;
}
_131=_131.parentNode;
}
},_fillEventFields:function(e,_136){
e.eventMapTarget=_136;
if(e.rawEvent.relatedTarget){
e.eventMapRelatedTarget=e.rawEvent.relatedTarget;
}else{
if(e.type=="mouseover"){
e.eventMapRelatedTarget=e.rawEvent.fromElement;
}else{
e.eventMapRelatedTarget=e.rawEvent.toElement;
}
}
if(!e.eventMapRelatedTarget){
return;
}
try{
var _137=e.eventMapRelatedTarget.className;
}
catch(ex){
e.eventMapRelatedTarget=this._element;
}
},_getDomEventDelegate:function(){
if(!this._onDomEventDelegate){
this._onDomEventDelegate=Function.createDelegate(this,this._onDomEvent);
}
return this._onDomEventDelegate;
}};
Telerik.Web.UI.EventMap.registerClass("Telerik.Web.UI.EventMap");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.Overlay=function(_138){
this._targetElement=_138;
this._element=null;
};
Telerik.Web.UI.Overlay.IsSupported=function(){
return $telerik.isIE;
};
Telerik.Web.UI.Overlay.prototype={initialize:function(){
var _139=document.createElement("div");
_139.innerHTML="<iframe>Your browser does not support inline frames or is currently configured not to display inline frames.</iframe>";
this._element=_139.firstChild;
this._element.src="javascript:'';";
this._targetElement.parentNode.insertBefore(this._element,this._targetElement);
if(this._targetElement.style.zIndex>0){
this._element.style.zIndex=this._targetElement.style.zIndex-1;
}
this._element.style.position="absolute";
this._element.style.border="0px";
this._element.frameBorder=0;
this._element.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
this._element.tabIndex=-1;
this.updatePosition();
},dispose:function(){
if(this._element.parentNode){
this._element.parentNode.removeChild(this._element);
}
this._targetElement=null;
this._element=null;
},get_targetElement:function(){
return this._targetElement;
},set_targetElement:function(_13a){
this._targetElement=_13a;
},updatePosition:function(){
this._element.style.top=this._toUnit(this._targetElement.style.top);
this._element.style.left=this._toUnit(this._targetElement.style.left);
this._element.style.width=this._targetElement.offsetWidth+"px";
this._element.style.height=this._targetElement.offsetHeight+"px";
},_toUnit:function(_13b){
if(!_13b){
return "0px";
}
return parseInt(_13b)+"px";
}};
Telerik.Web.UI.Overlay.registerClass("Telerik.Web.UI.Overlay",null,Sys.IDisposable);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI._PostbackWrapper=function(){
this._doPostbackReplaced=false;
this._events=new Sys.EventHandlerList();
this._originalDoPostBack=null;
this._onWindowUnloadHandler=null;
this._postbackEventRaised=false;
this._beginRequestHandler=null;
this._onsubmitHandler=null;
this._partialRenderingEnabledChecked=false;
this._partialRenderingEnabled=false;
};
Telerik.Web.UI._PostbackWrapper.prototype={initialize:function(){
this._onWindowUnloadHandler=Function.createDelegate(this,this._onWindowUnload);
Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnloadHandler);
},_raiseBeforePostback:function(_13c){
var _13d=this._events.getHandler("beforePostback");
if(_13d){
if(!_13c){
_13c=Sys.EventArgs.Empty;
}
_13d(this,_13c);
}
this._postbackEventRaised=true;
},_doPostback:function(_13e,_13f){
this._raiseBeforePostback(Sys.EventArgs.Empty);
this._originalDoPostBack(_13e,_13f);
},_onSubmit:function(){
if(!this._postbackEventRaised){
this._raiseBeforePostback(Sys.EventArgs.Empty);
}
return true;
},_endRequest:function(){
this._postbackEventRaised=false;
},_isPartialRenderingEnabled:function(){
if(!this._partialRenderingEnabledChecked){
this._partialRenderingEnabled=true;
if(typeof (Sys)=="undefined"){
this._partialRenderingEnabled=false;
}else{
if(typeof (Sys.WebForms)=="undefined"){
this._partialRenderingEnabled=false;
}else{
if(typeof (Sys.WebForms.PageRequestManager)=="undefined"){
this._partialRenderingEnabled=false;
}else{
if(!Sys.WebForms.PageRequestManager.getInstance()){
this._partialRenderingEnabled=false;
}
}
}
}
this._partialRenderingEnabledChecked=true;
}
return this._partialRenderingEnabled;
},add_beforePostback:function(_140){
if(!this._isPartialRenderingEnabled()){
return;
}
if(!this._onsubmitHandler){
this._onsubmitHandler=Function.createDelegate(this,this._onSubmit);
Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements,this._onsubmitHandler);
}
if(!this._endRequestHandler){
this._endRequestHandler=Function.createDelegate(this,this._endRequest);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler);
}
if(!this._doPostbackReplaced){
this._replaceDoPostback();
}
this._events.addHandler("beforePostback",_140);
},remove_beforePostback:function(_141){
this._events.removeHandler("beforePostback",_141);
},_replaceDoPostback:function(){
if(typeof (Page_IsValid)!="undefined"){
return;
}
this._originalDoPostBack=window.__doPostBack;
if(this._originalDoPostBack){
window.__doPostBack=Function.createDelegate(this,this._doPostback);
}
this._doPostbackReplaced=true;
},_onWindowUnload:function(_142){
this.dispose();
},dispose:function(){
Sys.UI.DomEvent.removeHandler(window,"unload",this._onWindowUnloadHandler);
if(this._endRequestHandler){
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);
this._endRequestHandler=null;
}
if(this._originalDoPostBack){
window.__doPostBack=this._originalDoPostBack;
this._originalDoPostBack=null;
}
}};
Telerik.Web.UI._PostbackWrapper.registerClass("Telerik.Web.UI._PostbackWrapper");
Telerik.Web.UI.PostbackWrapper=new Telerik.Web.UI._PostbackWrapper();
Telerik.Web.UI.PostbackWrapper.initialize();
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.SlideDirection=function(){
};
Telerik.Web.UI.SlideDirection.prototype={Up:1,Down:2,Left:3,Right:4};
Telerik.Web.UI.SlideDirection.registerEnum("Telerik.Web.UI.SlideDirection");
Telerik.Web.UI.Slide=function(_143,_144,_145,_146){
this._fps=60;
this._animatedElement=_143;
this._element=_143.parentNode;
this._expandAnimation=_144;
this._collapseAnimation=_145;
this._direction=Telerik.Web.UI.SlideDirection.Down;
this._animation=null;
this._expanding=null;
if(_146==null){
this._enableOverlay=true;
}else{
this._enableOverlay=_146;
}
this._events=null;
this._overlay=null;
this._animationEndedDelegate=null;
this._expandAnimationStartedDelegate=null;
this._updateOverlayDelegate=null;
};
Telerik.Web.UI.Slide.prototype={initialize:function(){
if(Telerik.Web.UI.Overlay.IsSupported()&&this._enableOverlay){
var _147=this.get_animatedElement();
this._overlay=new Telerik.Web.UI.Overlay(_147);
this._overlay.initialize();
}
this._animationEndedDelegate=Function.createDelegate(this,this._animationEnded);
this._expandAnimationStartedDelegate=Function.createDelegate(this,this._expandAnimationStarted);
this._updateOverlayDelegate=Function.createDelegate(this,this._updateOverlay);
},dispose:function(){
this._animatedElement=null;
this._events=null;
this._disposeAnimation();
if(this._overlay){
this._overlay.dispose();
this._overlay=null;
}
this._animationEndedDelegate=null;
this._expandAnimationStartedDelegate=null;
this._updateOverlayDelegate=null;
},get_element:function(){
return this._element;
},get_animatedElement:function(){
return this._animatedElement;
},set_animatedElement:function(_148){
this._animatedElement=_148;
if(this._overlay){
this._overlay.set_targetElement(this._animatedElement);
}
},get_direction:function(){
return this._direction;
},set_direction:function(_149){
this._direction=_149;
},get_events:function(){
if(!this._events){
this._events=new Sys.EventHandlerList();
}
return this._events;
},updateSize:function(){
var _14a=this.get_animatedElement();
var _14b=this.get_element();
var top=0;
if(_14a.style.top){
top=Math.max(parseInt(_14a.style.top),0);
}
var left=0;
if(_14a.style.left){
left=Math.max(parseInt(_14a.style.left),0);
}
var _14e=_14a.offsetHeight+top;
if(_14b.style.height!=_14e+"px"){
_14b.style.height=Math.max(_14e,0)+"px";
}
var _14f=_14a.offsetWidth+left;
if(_14b.style.width!=_14f+"px"){
_14b.style.width=Math.max(_14f,0)+"px";
}
if(this._overlay){
this._updateOverlay();
}
},show:function(){
this._showElement();
},expand:function(){
this._expanding=true;
this.get_animatedElement().style.visibility="hidden";
this._resetState(true);
var _150=null;
var _151=null;
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Left:
_150=parseInt(this._getSize());
_151=0;
break;
case Telerik.Web.UI.SlideDirection.Down:
case Telerik.Web.UI.SlideDirection.Right:
_150=parseInt(this._getPosition());
_151=0;
break;
}
if(this._animation){
this._animation.stop();
}
if((_150==_151)||(this._expandAnimation.get_type()==Telerik.Web.UI.AnimationType.None)){
this._expandAnimationStarted();
this._setPosition(_151);
this._animationEnded();
this.get_animatedElement().style.visibility="visible";
}else{
this._playAnimation(this._expandAnimation,_150,_151);
}
},collapse:function(){
this._resetState();
this._expanding=false;
var _152=null;
var _153=null;
var size=parseInt(this._getSize());
var _155=parseInt(this._getPosition());
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Left:
_152=0;
_153=size;
break;
case Telerik.Web.UI.SlideDirection.Down:
case Telerik.Web.UI.SlideDirection.Right:
_152=0;
_153=_155-size;
break;
}
if(this._animation){
this._animation.stop();
}
if((_152==_153)||(this._collapseAnimation.get_type()==Telerik.Web.UI.AnimationType.None)){
this._setPosition(_153);
this._animationEnded();
}else{
this._playAnimation(this._collapseAnimation,_152,_153);
}
},add_collapseAnimationEnded:function(_156){
this.get_events().addHandler("collapseAnimationEnded",_156);
},remove_collapseAnimationEnded:function(_157){
this.get_events().removeHandler("collapseAnimationEnded",_157);
},add_expandAnimationEnded:function(_158){
this.get_events().addHandler("expandAnimationEnded",_158);
},remove_expandAnimationEnded:function(_159){
this.get_events().removeHandler("expandAnimationEnded",_159);
},add_expandAnimationStarted:function(_15a){
this.get_events().addHandler("expandAnimationStarted",_15a);
},remove_expandAnimationStarted:function(_15b){
this.get_events().removeHandler("expandAnimationStarted",_15b);
},_playAnimation:function(_15c,_15d,_15e){
var _15f=_15c.get_duration();
var _160=this._getAnimatedStyleProperty();
var _161=Telerik.Web.UI.AnimationFunctions.CalculateAnimationPoints(_15c,_15d,_15e,this._fps);
var _162=this.get_animatedElement();
_162.style.visibility="visible";
if(this._animation){
this._animation.set_target(_162);
this._animation.set_duration(_15f/1000);
this._animation.set_propertyKey(_160);
this._animation.set_values(_161);
}else{
this._animation=new $TWA.DiscreteAnimation(_162,_15f/1000,this._fps,"style",_160,_161);
this._animation.add_started(this._expandAnimationStartedDelegate);
this._animation.add_ended(this._animationEndedDelegate);
if(this._overlay){
this._animation.add_onTick(this._updateOverlayDelegate);
}
}
this._animation.play();
},_animationEnded:function(){
if(this._expanding){
this.get_element().style.overflow="visible";
this._raiseEvent("expandAnimationEnded",Sys.EventArgs.Empty);
}else{
this.get_element().style.display="none";
this._raiseEvent("collapseAnimationEnded",Sys.EventArgs.Empty);
}
if(this._overlay){
this._updateOverlay();
}
},_expandAnimationStarted:function(){
this._raiseEvent("expandAnimationStarted",Sys.EventArgs.Empty);
},_updateOverlay:function(){
this._overlay.updatePosition();
},_showElement:function(){
var _163=this.get_animatedElement();
var _164=this.get_element();
if(!_164){
return;
}
if(!_164.style){
return;
}
_164.style.display=(_164.tagName.toUpperCase()!="TABLE")?"block":"";
_163.style.display=(_163.tagName.toUpperCase()!="TABLE")?"block":"";
_164.style.overflow="hidden";
},_resetState:function(_165){
this._stopAnimation();
this._showElement();
if(_165){
var _166=this.get_animatedElement();
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
_166.style.top="0px";
break;
case Telerik.Web.UI.SlideDirection.Down:
_166.style.top=-_166.offsetHeight+"px";
break;
case Telerik.Web.UI.SlideDirection.Left:
_166.style.left=_166.offsetWidth+"px";
break;
case Telerik.Web.UI.SlideDirection.Right:
_166.style.left=-_166.offsetWidth+"px";
break;
default:
Error.argumentOutOfRange("direction",this.get_direction(),"Slide direction is invalid. Use one of the values in the Telerik.Web.UI.SlideDirection enumeration.");
break;
}
}
},_getSize:function(){
var _167=this.get_animatedElement();
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Down:
return _167.offsetHeight;
break;
case Telerik.Web.UI.SlideDirection.Left:
case Telerik.Web.UI.SlideDirection.Right:
return _167.offsetWidth;
break;
default:
return 0;
}
},_setPosition:function(_168){
var _169=this.get_animatedElement();
var _16a=this._getAnimatedStyleProperty();
_169.style[_16a]=_168;
},_getPosition:function(){
var _16b=this.get_animatedElement();
var _16c=this._getAnimatedStyleProperty();
return _16b.style[_16c];
},_getAnimatedStyleProperty:function(){
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Down:
return "top";
case Telerik.Web.UI.SlideDirection.Left:
case Telerik.Web.UI.SlideDirection.Right:
return "left";
}
},_stopAnimation:function(){
if(this._animation){
this._animation.stop();
}
},_disposeAnimation:function(){
if(this._animation){
this._animation.dispose();
this._animation=null;
}
},_raiseEvent:function(_16d,_16e){
var _16f=this.get_events().getHandler(_16d);
if(_16f){
if(!_16e){
_16e=Sys.EventArgs.Empty;
}
_16f(this,_16e);
}
}};
Telerik.Web.UI.Slide.registerClass("Telerik.Web.UI.Slide",null,Sys.IDisposable);


/* END Telerik.Web.UI.Common.Navigation.NavigationScripts.js */
/* START Telerik.Web.UI.PanelBar.RadPanelBarScripts.js */
Telerik.Web.UI.RadPanelEventArgs=function(){
Telerik.Web.UI.RadPanelEventArgs.initializeBase(this);
};
Telerik.Web.UI.RadPanelEventArgs.prototype={};
Telerik.Web.UI.RadPanelEventArgs.registerClass("Telerik.Web.UI.RadPanelEventArgs",Sys.EventArgs);
Telerik.Web.UI.RadPanelItemEventArgs=function(_1,e){
Telerik.Web.UI.RadPanelItemEventArgs.initializeBase(this);
this._item=_1;
this._domEvent=e;
};
Telerik.Web.UI.RadPanelItemEventArgs.prototype={get_item:function(){
return this._item;
},get_domEvent:function(){
return this._domEvent;
}};
Telerik.Web.UI.RadPanelItemEventArgs.registerClass("Telerik.Web.UI.RadPanelItemEventArgs",Sys.EventArgs);
Telerik.Web.UI.RadPanelItemCancelEventArgs=function(_3,e){
Telerik.Web.UI.RadPanelItemCancelEventArgs.initializeBase(this);
this._item=_3;
this._domEvent=e;
};
Telerik.Web.UI.RadPanelItemCancelEventArgs.prototype={get_item:function(){
return this._item;
},get_domEvent:function(){
return this._domEvent;
}};
Telerik.Web.UI.RadPanelItemCancelEventArgs.registerClass("Telerik.Web.UI.RadPanelItemCancelEventArgs",Sys.CancelEventArgs);
Telerik.Web.UI.RadPanelMouseOverEventArgs=function(_5,e){
Telerik.Web.UI.RadPanelMouseOverEventArgs.initializeBase(this,[_5,e]);
};
Telerik.Web.UI.RadPanelMouseOverEventArgs.registerClass("Telerik.Web.UI.RadPanelMouseOverEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Telerik.Web.UI.RadPanelMouseOutEventArgs=function(_7,e){
Telerik.Web.UI.RadPanelMouseOutEventArgs.initializeBase(this,[_7,e]);
};
Telerik.Web.UI.RadPanelMouseOutEventArgs.registerClass("Telerik.Web.UI.RadPanelMouseOutEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Telerik.Web.UI.RadPanelItemFocusEventArgs=function(_9,e){
Telerik.Web.UI.RadPanelItemFocusEventArgs.initializeBase(this,[_9,e]);
};
Telerik.Web.UI.RadPanelItemFocusEventArgs.registerClass("Telerik.Web.UI.RadPanelItemFocusEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Telerik.Web.UI.RadPanelItemBlurEventArgs=function(_b,e){
Telerik.Web.UI.RadPanelItemBlurEventArgs.initializeBase(this,[_b,e]);
};
Telerik.Web.UI.RadPanelItemBlurEventArgs.registerClass("Telerik.Web.UI.RadPanelItemBlurEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Telerik.Web.UI.RadPanelItemClickingEventArgs=function(_d,e){
Telerik.Web.UI.RadPanelItemClickingEventArgs.initializeBase(this,[_d,e]);
};
Telerik.Web.UI.RadPanelItemClickingEventArgs.registerClass("Telerik.Web.UI.RadPanelItemClickingEventArgs",Telerik.Web.UI.RadPanelItemCancelEventArgs);
Telerik.Web.UI.RadPanelItemClickedEventArgs=function(_f,e){
Telerik.Web.UI.RadPanelItemClickedEventArgs.initializeBase(this,[_f,e]);
};
Telerik.Web.UI.RadPanelItemClickedEventArgs.registerClass("Telerik.Web.UI.RadPanelItemClickedEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Telerik.Web.UI.RadPanelItemExpandEventArgs=function(_11,e){
Telerik.Web.UI.RadPanelItemExpandEventArgs.initializeBase(this,[_11,e]);
};
Telerik.Web.UI.RadPanelItemExpandEventArgs.registerClass("Telerik.Web.UI.RadPanelItemExpandEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Telerik.Web.UI.RadPanelItemCollapseEventArgs=function(_13,e){
Telerik.Web.UI.RadPanelItemCollapseEventArgs.initializeBase(this,[_13,e]);
};
Telerik.Web.UI.RadPanelItemCollapseEventArgs.registerClass("Telerik.Web.UI.RadPanelItemCollapseEventArgs",Telerik.Web.UI.RadPanelItemEventArgs);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ExpandMode=function(){
};
Telerik.Web.UI.ExpandMode.prototype={MultipleExpandedItems:0,SingleExpandedItem:1,FullExpandedItem:2};
Telerik.Web.UI.RadPanelBar=function(_15){
Telerik.Web.UI.RadPanelBar.initializeBase(this,[_15]);
this._childTypeName="Telerik.Web.UI.RadPanelItem";
this._items=null;
this._itemData=null;
this._postBackReference=null;
this._fullExpandedItem=false;
this._singleExpandedItem=false;
this._multipleExpandedItems=true;
this._allowCollapseAllItems=false;
this._expandedItem=null;
this._selectedItem=null;
this._skin="";
this._lastExpandedItem=null;
this._focusedItem=null;
this._expandedItemsJson="[]";
this._selectedItemsJson="[]";
this._logEntriesJson="[]";
this._clientState={expandedItems:[],logEntries:[],selectedItems:[]};
this._fireEvents=true;
this._persistStateInCookie=false;
this._cookieName=this.get_id();
this._expandMode=Telerik.Web.UI.ExpandMode.MultipleExpandedItems;
this._expandAnimation=new Telerik.Web.UI.AnimationSettings({});
this._collapseAnimation=new Telerik.Web.UI.AnimationSettings({});
};
Telerik.Web.UI.RadPanelBar._createChildControls=function(_16,_17){
var _18=_16.get_itemData();
if(!_18){
return;
}
var _19=_16.get_childListElement();
if(!_19){
return;
}
var _1a=$telerik.getChildrenByTagName(_19,"li");
Sys.Debug.assert(_18.length==_1a.length,"Length of elements and json must be the same!");
for(var i=0;i<_18.length;i++){
var _1c=new Telerik.Web.UI.RadPanelItem();
_17.add(_1c);
_1c._initialize(_18[i],_1a[i]);
}
};
Telerik.Web.UI.RadPanelBar.prototype={initialize:function(){
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"initialize");
this._eventMap.addHandlerForClassName("mouseover","rpLink",this._onLinkMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rpLink",this._onLinkMouseOut);
this._eventMap.addHandlerForClassName("mousedown","rpLink",this._onLinkMouseDown);
this._eventMap.addHandlerForClassName("mouseup","rpLink",this._onLinkMouseUp);
this._eventMap.addHandlerForClassName("click","rpLink",this._onLinkClick);
this._eventMap.addHandlerForClassName("keydown","rpLink",this._onLinkKeyDown);
this._eventMap.addHandlerForClassName("blur","rpLink",this._onLinkBlur);
this._eventMap.addHandlerForClassName("deactivate","rpLink",this._onLinkBlur);
this._eventMap.addHandlerForClassName("focus","rpLink",this._onLinkFocus);
this._eventMap.addHandlerForClassName("activate","rpLink",this._onLinkFocus);
this._eventMap.addHandlerForClassName("contextmenu","rpLink",this._contextMenuHandler);
this._onWindowResizeDelegate=Function.createDelegate(this,this._windowResizeHandler);
$addHandler(window,"resize",this._onWindowResizeDelegate);
if(this.get_fullExpandedItem()){
this.get_element().style.overflow="hidden";
}
this._raiseEvent("load",null);
},repaint:function(){
this._resizeHandler();
this._repaintPanelBarItems();
},_windowResizeHandler:function(){
this._resizeHandler();
this._callRadResize();
},_contextMenuHandler:function(e){
if(!e){
e=event;
}
var _1e=this._extractItemFromDomElement(e.eventMapTarget);
var _1f=new Telerik.Web.UI.RadPanelItemCancelEventArgs(_1e,e);
this._raiseEvent("contextMenu",_1f);
if(_1f.get_cancel()){
e.preventDefault();
}
},_callRadResize:function(){
this._callRadShow();
},_callRadShow:function(){
if(!this.get_childListElement()){
return;
}
$telerik.repaintChildren(this);
this._repaintPanelBarItems();
},_repaintPanelBarItems:function(){
for(var i=0;i<this.get_expandedItems().length;i++){
var _21=this.get_expandedItems()[i];
_21._windowLoadHandler(false);
}
},_resizeHandler:function(){
if(this.disposed){
return;
}
if(this.get_expandedItem()){
if(this.get_fullExpandedItem()){
var _22=this._getGroupHeight();
if(_22>0){
this.get_expandedItem()._setChildrenHeight(_22);
}
}
}
},_renderInProgress:function(){
return this.get_element()&&this.get_element().setHeight=="true";
},dispose:function(){
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"dispose");
$removeHandler(window,"resize",this._onWindowResizeDelegate);
if(this._eventMap){
this._eventMap.dispose();
this._eventMap=null;
}
},_createChildControls:function(){
this._children=new Telerik.Web.UI.RadPanelItemCollection(this);
Telerik.Web.UI.RadPanelBar._createChildControls(this,this._children);
},get_childListElement:function(){
if(!this._childListElement){
this._childListElement=$telerik.getFirstChildByTagName(this.get_element(),"ul",0);
}
return this._childListElement;
},disableEvents:function(){
this._fireEvents=false;
},enableEvents:function(){
this._fireEvents=true;
},findItemByText:function(_23){
return this._findItemByText(_23);
},findItemByUrl:function(){
},findItemByValue:function(_24){
return this._findItemByValue(_24);
},findItemByAttribute:function(_25,_26){
return this._findItemByAttribute(_25,_26);
},get_allItems:function(){
return this._getAllItems();
},get_items:function(){
return this._getChildren();
},set_items:function(_27){
this._children=_27;
},get_itemData:function(){
return this._itemData;
},set_itemData:function(_28){
this._itemData=_28;
},set_fullExpandedItem:function(_29){
this._fullExpandedItem=_29;
},set_singleExpandedItem:function(_2a){
this._singleExpandedItem=_2a;
},set_multiExpandedItem:function(_2b){
this._multiExpandedItem=_2b;
},get_fullExpandedItem:function(){
return this.get_expandMode()==2;
},get_singleExpandedItem:function(){
return this.get_expandMode()==1||this.get_expandMode()==2;
},get_multiExpandedItem:function(){
return this._multiExpandedItem;
},set_expandedItem:function(_2c){
this._expandedItem=_2c;
},get_expandedItem:function(){
return this._expandedItem;
},set_lastExpandedItem:function(_2d){
this.lastExpandedItem=_2d;
},set_selectedItem:function(_2e){
this._selectedItem=_2e;
},get_selectedItem:function(){
return this._selectedItem;
},get_lastExpandedItem:function(){
return this._lastExpandedItem;
},get_focusedItem:function(){
return this._focusedItem;
},set_focusedItem:function(_2f){
this._focusedItem=_2f;
},get_expandMode:function(){
return this._expandMode;
},set_expandMode:function(_30){
this._expandMode=_30;
},set_persistStateInCookie:function(_31){
this._persistStateInCookie=_31;
},get_persistStateInCookie:function(){
return this._persistStateInCookie;
},set_cookieName:function(_32){
this._cookieName=_32;
},get_cookieName:function(){
return this._cookieName;
},set_allowCollapseAllItems:function(_33){
this._allowCollapseAllItems=_33;
},get_allowCollapseAllItems:function(){
return this._allowCollapseAllItems;
},get_expandAnimation:function(){
return this._expandAnimation;
},set_expandAnimation:function(_34){
var _35=Sys.Serialization.JavaScriptSerializer.deserialize(_34);
this._expandAnimation=new Telerik.Web.UI.AnimationSettings(_35);
},get_collapseAnimation:function(){
return this._collapseAnimation;
},set_collapseAnimation:function(_36){
var _37=Sys.Serialization.JavaScriptSerializer.deserialize(_36);
this._collapseAnimation=new Telerik.Web.UI.AnimationSettings(_37);
},commitChanges:function(){
this._logEntriesJson=this._log.serialize();
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"commitChanges");
},saveClientState:function(){
if(this._persistStateInCookie){
this._persistState();
}
return "{\"expandedItems\":"+this._expandedItemsJson+",\"logEntries\":"+this._logEntriesJson+",\"selectedItems\":"+this._selectedItemsJson+"}";
},_updateExpandState:function(){
this._expandedItemsJson=Sys.Serialization.JavaScriptSerializer.serialize(this._clientState.expandedItems);
this.updateClientState();
},_updateSelectedState:function(){
this._selectedItemsJson=Sys.Serialization.JavaScriptSerializer.serialize(this._clientState.selectedItems);
this.updateClientState();
},_registerExpandedItem:function(_38){
var _39=_38._getHierarchicalIndex();
if(Array.contains(this._clientState.expandedItems,_39)){
return;
}
Array.add(this._clientState.expandedItems,_39);
this._updateExpandState();
},_registerSelectedItem:function(_3a){
if(Array.contains(this._clientState.selectedItems,_3a._getHierarchicalIndex())){
return;
}
Array.add(this._clientState.selectedItems,_3a._getHierarchicalIndex());
this._updateSelectedState();
},_unregisterSelectedItem:function(_3b){
Array.remove(this._clientState.selectedItems,_3b._getHierarchicalIndex());
this._updateSelectedState();
},_unregisterExpandedItem:function(_3c){
Array.remove(this._clientState.expandedItems,_3c._getHierarchicalIndex());
this._updateExpandState();
},_unregisterItemFromClientState:function(_3d){
Array.remove(this._clientState.expandedItems,_3d._getHierarchicalIndex());
Array.remove(this._clientState.selectedItems,_3d._getHierarchicalIndex());
},_unregisterItemChildrenFromClientState:function(_3e){
for(var i=0;i<_3e.get_items().get_count();i++){
this._unregisterItemHierarchyFromClientState(_3e.get_items().getItem(i));
}
},_unregisterItemHierarchyFromClientState:function(_40){
this._unregisterItemFromClientState(_40);
this._unregisterItemChildrenFromClientState(_40);
},_backupClientState:function(){
this._backupExpandedItems=this.get_expandedItems();
this._backupSelectedItems=this.get_selectedItems();
},get_selectedItems:function(){
var _41=[];
for(var i=0;i<this._clientState.selectedItems.length;i++){
var _43=this._findItemByHierarchicalIndex(this._clientState.selectedItems[i]);
Array.add(_41,_43);
}
return _41;
},get_expandedItems:function(){
var _44=[];
for(var i=0;i<this._clientState.expandedItems.length;i++){
var _46=this._findItemByHierarchicalIndex(this._clientState.expandedItems[i]);
Array.add(_44,_46);
}
return _44;
},_restoreClientState:function(){
this._clientState.selectedItems=[];
for(var i=0;i<this._backupSelectedItems.length;i++){
Array.add(this._clientState.selectedItems,this._backupSelectedItems[i]._getHierarchicalIndex());
}
this._clientState.expandedItems=[];
for(var i=0;i<this._backupExpandedItems.length;i++){
Array.add(this._clientState.expandedItems,this._backupExpandedItems[i]._getHierarchicalIndex());
}
this._updateExpandState();
this._updateSelectedState();
},_persistState:function(){
var _48="{";
if(this.get_selectedItem()){
_48+="\"SelectedItems\":"+this._selectedItemsJson+",";
}
_48+="\"ExpandedItems\":"+this._expandedItemsJson+"}";
document.cookie=this.get_cookieName()+"="+_48+";path=/;expires=";
},_getGroupHeight:function(){
var _49=this.get_expandedItem();
var _4a=this.get_childListElement();
if(_49){
_49._getAnimationContainer().style.display="none";
_49.get_childListElement().style.display="none";
}
var _4b=this.get_element().offsetHeight-_4a.offsetHeight;
if(_4b==0){
_4b=this.get_element().style.pixelHeight-_4a.offsetHeight;
}
if(_4b<0){
_4b=_4a.offsetHeight;
this.get_element().style.overflow="auto";
}
if(_49){
_49._getAnimationContainer().style.display="block";
_49.get_childListElement().style.display="block";
}
return _4b;
},_raiseEvent:function(_4c,_4d){
if(this._fireEvents){
this.raiseEvent(_4c,_4d);
}
},_postback:function(_4e){
if(!this._postBackReference){
return;
}
var _4f=this._postBackReference.replace("arguments",_4e);
eval(_4f);
},disable:function(){
this.set_enabled(false);
},enable:function(){
this.set_enabled(true);
},set_enabled:function(_50){
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"set_enabled",[_50]);
if(!this.get_isInitialized()){
return;
}
var _51=this.get_element();
var _52=this.get_items();
var _53=_52.get_count();
if(!_50){
_51.disabled="disabled";
var _54=String.format("RadPanelBar_{0}_disabled",this._skin);
this.toggleCssClass(_54);
this.disableEvents();
for(var i=0;i<_53;i++){
_52.getItem(i).disable();
}
}else{
_51.disabled="";
var _54=String.format("RadPanelBar_{0}_disabled",this._skin);
this.toggleCssClass(_54);
this.enableEvents();
for(var i=0;i<_53;i++){
_52.getItem(i).enable();
}
}
},_onLinkClick:function(e){
var _57=this._extractItemFromDomElement(e.eventMapTarget);
if(!_57._click(e)){
e.preventDefault();
return false;
}
return true;
},_onLinkMouseOver:function(e){
var _59=e.eventMapRelatedTarget;
var _5a=this._extractItemFromDomElement(e.eventMapTarget);
var _5b=_5a.get_linkElement();
if(!_59||_5b==_59||$telerik.isDescendant(_5b,_59)){
return true;
}
_5a._hovered=true;
if(_5a.get_isEnabled()){
_5a._updateImageUrl();
}
this._raiseEvent("mouseOver",new Telerik.Web.UI.RadPanelMouseOverEventArgs(_5a,e));
return true;
},_onLinkMouseOut:function(e){
var _5d=e.eventMapRelatedTarget;
var _5e=this._extractItemFromDomElement(e.eventMapTarget);
var _5f=_5e.get_linkElement();
if(!_5d||!_5f){
return;
}
if(_5f==_5d||$telerik.isDescendant(_5f,_5d)){
return true;
}
_5e._hovered=false;
if(_5e.get_isEnabled()){
_5e._updateImageUrl();
}
this._raiseEvent("mouseOut",new Telerik.Web.UI.RadPanelMouseOutEventArgs(_5e,e));
return true;
},_onLinkMouseDown:function(e){
var _61=this._extractItemFromDomElement(e.eventMapTarget);
if(!_61.get_isEnabled()){
return true;
}
_61._clicked=true;
_61._updateLinkClass();
_61._updateImageUrl();
return true;
},_onLinkMouseUp:function(e){
var _63=this._extractItemFromDomElement(e.eventMapTarget);
if(!_63.get_isEnabled()){
return true;
}
_63._clicked=false;
_63._updateLinkClass();
_63._updateImageUrl();
return true;
},_onLinkBlur:function(e){
var _65=this._extractItemFromDomElement(e.eventMapTarget);
if(!_65.get_isEnabled()){
return true;
}
_65._focused=false;
_65._blur(e);
return true;
},_onLinkFocus:function(e){
var _67=this._extractItemFromDomElement(e.eventMapTarget);
if(!_67.get_isEnabled()){
return true;
}
_67._focused=true;
_67.focus(e);
return true;
},_onLinkKeyDown:function(e){
var _69=this._extractItemFromDomElement(e.eventMapTarget);
if(!_69.get_isEnabled()){
return true;
}
return _69._onKeyDown(e);
},_childInserting:function(_6a,_6b,_6c){
if(!_6c._childControlsCreated){
return;
}
this._backupClientState();
},_childInserted:function(_6d,_6e,_6f){
if(!_6f._childControlsCreated){
return;
}
this._restoreClientState();
this._callRadResize();
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"_childInserted",[_6d,_6e,_6f]);
},_childrenCleared:function(_70){
this._unregisterItemChildrenFromClientState(_70);
if(_70.collapse){
_70.collapse();
}
if(_70._slideWrapElement){
_70._slideWrapElement.outerHTML="";
_70._slideWrapElement=null;
_70._animationContainer=null;
}
_70._linkElement=null;
_70._childListElement=null;
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"_childrenCleared",[_70]);
},_childRemoving:function(_71){
_71.unSelect();
if(_71.get_parent().get_items().get_count()==1&&_71.get_parent().collapse){
_71.get_parent().collapse();
}
this.set_selectedItem(null);
this._unregisterItemHierarchyFromClientState(_71);
this._backupClientState();
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"_childRemoving",[_71]);
},_childRemoved:function(_72,_73){
var _74=_72.get_element();
if(_73.get_items().get_count()==0){
if(_73._slide){
_73._slide.dispose();
_73._slide=null;
}
_74=$telerik.getFirstChildByTagName(_73.get_element(),"div",0);
if(_72.get_level()==0){
_74=$telerik.getFirstChildByTagName(_73.get_element(),"ul",0);
}
_73._linkElement=null;
_73._childListElement=null;
_73._slideWrapElement=null;
_73._animationContainer=null;
}
if(_74){
_74.outerHTML="";
if(_74.parentNode){
_74.parentNode.removeChild(_74);
}
_74=null;
}
var _75=_73.get_items().get_count();
if(_75>0){
var _76=_73.get_items().getItem(0).get_element();
if(_76&&!Sys.UI.DomElement.containsCssClass(_76,"rpFirst")){
_76.className+=" rpFirst";
_76.className=_76.className.replace("rpLast rpFirst","rpFirst rpLast");
}
}
var _77=_75-1;
if(_75>0){
var _78=_73.get_items().getItem(_77).get_element();
if(_78&&!Sys.UI.DomElement.containsCssClass(_78,"rpLast")){
_78.className+=" rpLast";
}
}
this._restoreClientState();
this._callRadResize();
if(_72.get_level()>0&&_73.get_expanded()&&_73.get_childListElement()){
if(_73.get_childListElement().offsetHeight+"px"!=_73._getAnimationContainer().style.height){
_73._getAnimationContainer().style.height=_73.get_childListElement().offsetHeight;
}
}
Telerik.Web.UI.RadPanelBar.callBaseMethod(this,"_childRemoved",[_72,_73]);
},_createChildListElement:function(){
var _79=document.createElement("ul");
_79.className="rpRootGroup";
this.get_element().appendChild(_79);
return _79;
},add_load:function(_7a){
this.get_events().addHandler("load",_7a);
},remove_load:function(_7b){
this.get_events().removeHandler("load",_7b);
},add_mouseOver:function(_7c){
this.get_events().addHandler("mouseOver",_7c);
},remove_mouseOver:function(_7d){
this.get_events().removeHandler("mouseOver",_7d);
},add_mouseOut:function(_7e){
this.get_events().addHandler("mouseOut",_7e);
},remove_mouseOut:function(_7f){
this.get_events().removeHandler("mouseOut",_7f);
},add_itemClicked:function(_80){
this.get_events().addHandler("itemClicked",_80);
},remove_itemClicked:function(_81){
this.get_events().removeHandler("itemClicked",_81);
},add_itemClicking:function(_82){
this.get_events().addHandler("itemClicking",_82);
},remove_itemClicking:function(_83){
this.get_events().removeHandler("itemClicking",_83);
},add_itemExpand:function(_84){
this.get_events().addHandler("itemExpand",_84);
},remove_itemExpand:function(_85){
this.get_events().removeHandler("itemExpand",_85);
},add_itemCollapse:function(_86){
this.get_events().addHandler("itemCollapse",_86);
},remove_itemCollapse:function(_87){
this.get_events().removeHandler("itemCollapse",_87);
},add_itemFocus:function(_88){
this.get_events().addHandler("itemFocus",_88);
},remove_itemFocus:function(_89){
this.get_events().removeHandler("itemFocus",_89);
},add_itemBlur:function(_8a){
this.get_events().addHandler("itemBlur",_8a);
},remove_itemBlur:function(_8b){
this.get_events().removeHandler("itemBlur",_8b);
},add_contextMenu:function(_8c){
this.get_events().addHandler("contextMenu",_8c);
},remove_contextMenu:function(_8d){
this.get_events().removeHandler("contextMenu",_8d);
}};
Telerik.Web.UI.RadPanelBar._getChildListElement=function(_8e){
var _8f=$telerik.getFirstChildByTagName(_8e,"ul",0);
return _8f;
};
Telerik.Web.UI.RadPanelBar._preInitialize=function(_90){
var _91=$get(_90);
var _92=Telerik.Web.UI.RadPanelBar._getChildListElement(_91);
if(_92){
var _93=$telerik.getChildrenByTagName(_92,"li");
for(var i=0;i<_93.length;i++){
var _95=$telerik.getFirstChildByTagName(_93[i],"div",0);
if(_95&&_95.style.display=="block"){
Telerik.Web.UI.RadPanelBar._setHeight(_95,_90);
}
}
}
};
Telerik.Web.UI.RadPanelBar._setHeight=function(_96,_97){
var _98=Telerik.Web.UI.RadPanelBar._getGroupHeight(_96,_97);
if(_98>0){
Telerik.Web.UI.RadPanelBar._setChildrenHeight(_98,_96);
$get(_97).setHeight="true";
}
var _99=Telerik.Web.UI.RadPanelBar._getChildListElement(_96);
if(_99){
_99.style.width="100%";
}
};
Telerik.Web.UI.RadPanelBar._setChildrenHeight=function(_9a,_9b){
if(_9a<0){
_9a=0;
}
if(!_9a==""){
_9a+="px";
}
var _9c=Telerik.Web.UI.RadPanelBar._getChildListElement(_9b);
if(_9c){
_9c.style.height=_9a;
_9b.style.height=_9a;
}
};
Telerik.Web.UI.RadPanelBar._getGroupHeight=function(_9d,_9e){
var _9f=Telerik.Web.UI.RadPanelBar._getChildListElement(_9d);
if(_9f==null){
return;
}
var _a0=$get(_9e);
var _a1=Telerik.Web.UI.RadPanelBar._getChildListElement(_a0);
_9d.style.display="none";
_9f.style.display="none";
var _a2=_a0.offsetHeight-_a1.offsetHeight;
if(_a2<0){
_a2=_a1.offsetHeight;
_a1.style.overflow="auto";
}
_9d.style.display="block";
_9f.style.display="block";
return _a2;
},Telerik.Web.UI.RadPanelBar.registerClass("Telerik.Web.UI.RadPanelBar",Telerik.Web.UI.ControlItemContainer);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadPanelItem=function(){
Telerik.Web.UI.RadPanelItem.initializeBase(this);
this._properties=new Telerik.Web.UI.PropertyBag(this);
this._linkElement=null;
this._imageElement=null;
this._hoveredImageUrl="";
this._selectedImageUrl="";
this._expandedImageUrl="";
this._postBack=true;
this._childListElement=null;
this._cssClass="";
this._navigateAfterClick=true;
this._focusedCssClass="rpFocused";
this._selectedCssClass="rpSelected";
this._clickedCssClass="rpClicked";
this._expandedCssClass="rpExpanded";
this._disabledCssClass="rpDisabled";
this._expandedItem=null;
this._lastExpandedItem=null;
this._selectedItem=null;
this._focusedItem=null;
this._focused=false;
this._clicked=false;
this._enabled=true;
this._expanded=false;
this._selected=false;
this._templated=false;
this._preventCollapse=false;
this._slideWrapElement=null;
this._animationContainer=null;
this._animation=null;
this._expanding=null;
this._animationEndedDelegate=null;
this._onExpandAnimationStartedDelegate=null;
this._fps=60;
this._changedOverflow=false;
};
Telerik.Web.UI.RadPanelItem.prototype={_initialize:function(_a3,_a4){
Telerik.Web.UI.RadPanelItem.callBaseMethod(this,"_initialize",[_a3,_a4]);
this._properties.load(_a3);
this._ensureChildControls();
this._updateLinkClass();
var _a4=this.get_element();
var _a5=this;
this._renderAccessKey();
this._windowLoadHandlerSavingState=Function.createDelegate(this,this._windowLoadHandlerSavingState);
Sys.Application.add_load(this._windowLoadHandlerSavingState);
this._animationEndedDelegate=Function.createDelegate(this,this._animationEnded);
this._onExpandAnimationStartedDelegate=Function.createDelegate(this,this._onExpandAnimationStarted);
},_windowLoadHandlerSavingState:function(e){
if(this.get_expanded()){
this.get_parent().set_expandedItem(this);
this.get_panelBar()._registerExpandedItem(this);
}
if(this.get_selected()){
this.get_panelBar().set_selectedItem(this);
this.get_panelBar()._registerSelectedItem(this);
}
this._updateLinkClass();
this._windowLoadHandler(true);
},_windowLoadHandler:function(_a7){
if(this.get_expanded()&&this.get_childListElement()){
this.get_childListElement().style.display="none";
this.get_childListElement().style.width="100%";
if(this.get_level()>0&&!this.get_panelBar().get_fullExpandedItem()){
this.get_parent()._setChildrenHeight("");
}
this.get_childListElement().style.display="block";
if(_a7){
this.get_panelBar()._callRadShow();
}
}
if(this.get_element()==null){
return;
}
if(this.get_panelBar()._renderInProgress()){
return;
}
if(this._loadHandlerExecuted){
return;
}
this._loadHandlerExecuted=true;
if(this.get_expanded()&&this.get_level()==0&&this.get_panelBar().get_fullExpandedItem()){
var _a8=this.get_panelBar()._getGroupHeight();
if(_a8>0){
this._setChildrenHeight(_a8);
}
}
},_dispose:function(){
Telerik.Web.UI.RadPanelItem.callBaseMethod(this,"_dispose");
Sys.Application.remove_load(this._windowLoadHandler);
this._disposeAnimation();
},_shouldInitializeChild:function(_a9){
return true;
},_callRadShow:function(){
var _aa=this.get_childListElement().getElementsByTagName("*");
for(var i=0,_ac=_aa.length;i<_ac;i++){
var _ad=_aa[i];
if(_ad.RadShow){
_ad.RadShow();
}
}
},_updateLinkClass:function(){
if(this.get_isSeparator()||!this.get_linkElement()){
return;
}
var _ae="rpLink "+this.get_cssClass();
if(this.get_expandable()){
_ae="rpLink rpExpandable "+this.get_cssClass();
}
if(this.get_focused()){
_ae=_ae+" "+this.get_focusedCssClass();
}
if(this.get_selected()){
_ae=_ae+" "+this.get_selectedCssClass();
}
if(this.get_expanded()){
_ae=_ae+" "+this.get_expandedCssClass();
this.get_parent().set_expandedItem(this);
}
if(this.get_clicked()){
_ae=_ae+" "+this.get_clickedCssClass();
}
if(!this.get_enabled()){
_ae=_ae+" "+this.get_disabledCssClass();
}
this.get_linkElement().className=_ae;
this._updateImageUrl();
},_onKeyDown:function(e){
var _b0=e.keyCode?e.keyCode:e.rawEvent.keyCode;
switch(_b0){
case Sys.UI.Key.up:
this._onKeyboardUp();
break;
case Sys.UI.Key.down:
this._onKeyboardDown();
break;
case Sys.UI.Key.esc:
this._onKeyboardEsc();
break;
default:
return true;
}
e.preventDefault();
return false;
},_onKeyboardUp:function(){
var _b1=this.get_parent();
this.get_index()||!_b1.focus?this.focusPreviousItem():_b1.focus();
},_onKeyboardDown:function(){
var _b2=this.get_parent();
if(this.get_expanded()){
this.focusFirstChild();
return;
}
var _b3=this.get_index()==_b2.get_items().get_count()-1;
if(_b3&&_b2.focus){
_b2.focusNextItem();
}else{
this.focusNextItem();
}
},_onKeyboardEsc:function(){
var _b4=this.get_parent();
var _b5=this.get_panelBar();
if(_b4.focus){
_b4.focus();
}else{
if(_b4==_b5&&this.get_expanded()){
this.collapse();
this.blur();
}
}
},focusFirstChild:function(){
var _b6=this.get_items();
if(_b6.get_count()==0){
return;
}
var _b7=_b6.getItem(0);
var _b8=_b7;
while(!_b7._canFocus()){
_b7=_b7._getNextItem();
if(_b7==_b8){
return;
}
}
_b7.focus();
},focusNextItem:function(){
var _b9=this._getNextItem();
while(!_b9._canFocus()){
_b9=_b9._getNextItem();
}
_b9.focus();
},focusPreviousItem:function(){
var _ba=this._getPreviousItem();
while(!_ba._canFocus()){
_ba=_ba._getPreviousItem();
}
_ba.focus();
},click:function(){
this._click(null);
},_getPreviousItem:function(){
var _bb=this.get_parent().get_items();
var _bc=this.get_index();
if(_bc==0){
return _bb.getItem(_bb.get_count()-1);
}
return _bb.getItem(_bc-1);
},_getNextItem:function(){
var _bd=this.get_parent().get_items();
var _be=this.get_index();
if(_be==_bd.get_count()-1){
return _bd.getItem(0);
}
return _bd.getItem(_be+1);
},_click:function(e){
if(this.get_isSeparator()||!this.get_isEnabled()){
if(e){
e.preventDefault();
}
return false;
}
var _c0=this.get_panelBar();
var _c1=new Telerik.Web.UI.RadPanelItemClickingEventArgs(this,e);
_c0._raiseEvent("itemClicking",_c1);
if(_c1.get_cancel()){
if(e){
e.preventDefault();
}
return false;
}
var _c2=this.get_linkElement().href.indexOf("javascript:")==0;
var _c3=this.get_parent().get_expandedItem();
var _c4=this.get_panelBar().get_selectedItem();
if(this.get_navigateAfterClick()&&!_c2){
if(this.get_panelBar().get_singleExpandedItem()&&!this.get_panelBar().get_allowCollapseAllItems()){
if(_c3){
_c3._expanded=false;
_c3._properties.setValue("expanded",false,true);
this.get_panelBar()._unregisterExpandedItem(this);
}
if(this.get_items().get_count()>0){
this._expanded=true;
this._properties.setValue("expanded",true,true);
this.get_panelBar()._registerExpandedItem(this);
}
}else{
if(this.get_items().get_count()>0){
this.set_expanded(!this.get_expanded());
}
}
if(!this._shouldNavigate()){
this.select();
}else{
if(_c4){
_c4.set_selected(false);
}
this.set_selected(true);
}
var _c5=new Telerik.Web.UI.RadPanelItemClickedEventArgs(this,e);
_c0._raiseEvent("itemClicked",_c5);
if(this._shouldNavigate()){
return true;
}
if(this._shouldPostBack()){
if(e){
e.preventDefault();
}
_c0._postback(this._getHierarchicalIndex());
}
}
if(!this.get_panelBar().get_allowCollapseAllItems()&&this.get_panelBar().get_singleExpandedItem()){
if(!this.get_expanded()){
this.expand();
}
}else{
this.get_expanded()?this.collapse():this.expand();
}
this.select();
var _c0=this.get_panelBar();
var _c5=new Telerik.Web.UI.RadPanelItemClickedEventArgs(this,e);
_c0._raiseEvent("itemClicked",_c5);
if(_c2){
return true;
}
if(e){
e.preventDefault();
}
if(this._shouldPostBack()){
_c0._postback(this._getHierarchicalIndex());
}
return false;
},focus:function(){
this._focus(null);
},blur:function(){
this._blur(null);
},_shouldPostBack:function(){
if(!this.get_panelBar()){
return false;
}
return this.get_postBack()&&this.get_panelBar()._postBackReference;
},_replaceCssClass:function(_c6,_c7,_c8){
_c6.className=_c6.className.replace(_c7,_c8);
},_updateImageUrl:function(){
if(!this.get_element()){
return;
}
var url=this._getImageUrlToApply();
if(!url){
return;
}
var _ca=this.get_imageElement();
if(!_ca){
_ca=this._createImageElement();
}
_ca.src=url;
},_getImageUrlToApply:function(){
var url=this.get_imageUrl();
var _cc=this.get_selectedImageUrl();
var _cd=this.get_expandedImageUrl();
if(this._hovered&&this.get_hoveredImageUrl()){
url=this.get_hoveredImageUrl();
}
if(this.get_selected()&&_cc){
url=_cc;
}
if(this.get_expanded()&&_cd){
url=_cd;
}
if(!this.get_enabled()&&this.get_disabledImageUrl()){
url=this.get_disabledImageUrl();
}
return url;
},_initializeRenderedItem:function(){
Telerik.Web.UI.RadPanelItem.callBaseMethod(this,"_initializeRenderedItem");
this._animationEndedDelegate=Function.createDelegate(this,this._animationEnded);
this._onExpandAnimationStartedDelegate=Function.createDelegate(this,this._onExpandAnimationStarted);
this._updateLinkClass();
},disable:function(){
this.set_enabled(false);
},enable:function(){
this.set_enabled(true);
},collapse:function(){
this.set_expanded(false);
},expand:function(){
this.set_expanded(true);
},_getAnimationContainer:function(){
if(!this._animationContainer){
if(this.get_templated()){
this._animationContainer=$telerik.getFirstChildByTagName(this.get_element(),"div",2);
}else{
this._animationContainer=$telerik.getFirstChildByTagName(this.get_element(),"div",1);
}
}
return this._animationContainer;
},select:function(){
this.set_selected(true);
},unSelect:function(){
this.set_selected(false);
},_setChildrenHeight:function(_ce){
if(_ce<0){
_ce=0;
}
if(!_ce==""){
_ce+="px";
}
this.get_childListElement().style.height=_ce;
this._getAnimationContainer().style.height=_ce;
},set_lastExpandedItem:function(_cf){
this.lastExpandedItem=_cf;
},get_isSeparator:function(){
return this._properties.getValue("isSeparator",false);
},set_isSeparator:function(_d0){
this._properties.setValue("isSeparator",_d0,true);
},set_enabled:function(_d1){
Telerik.Web.UI.RadPanelItem.callBaseMethod(this,"set_enabled",[_d1]);
this._updateLinkClass();
},get_linkElement:function(){
if(!this._linkElement){
this._linkElement=$telerik.getFirstChildByTagName(this.get_element(),"a",0);
}
return this._linkElement;
},get_childListElement:function(){
if(!this._childListElement){
var _d2=this._getSlideWrapElement();
if(_d2){
var _d3=_d2;
this._childListElement=$telerik.getFirstChildByTagName(_d3,"ul",0);
}
}
return this._childListElement;
},_getSlideWrapElement:function(){
if(!this._slideWrapElement){
if(this.get_templated()){
this._slideWrapElement=$telerik.getFirstChildByTagName(this.get_element(),"div",2);
}else{
this._slideWrapElement=$telerik.getFirstChildByTagName(this.get_element(),"div",1);
}
}
return this._slideWrapElement;
},get_imageElement:function(){
if(!this._imageElement){
var _d4=this.get_linkElement();
var _d5=this.get_element();
this._imageElement=$telerik.getFirstChildByTagName(_d4||_d5,"img",0);
}
return this._imageElement;
},get_disabledImageUrl:function(){
return this._properties.getValue("disabledImageUrl",null);
},set_disabledImageUrl:function(_d6){
this._properties.setValue("disabledImageUrl",_d6,true);
this._updateImageUrl();
},_createImageElement:function(){
this._imageElement=document.createElement("img");
this._imageElement.className="rpImage";
var _d7=this.get_linkElement();
_d7.insertBefore(this._imageElement,this.get_textElement());
return this._imageElement;
},get_textElement:function(){
var _d8=this.get_linkElement();
if(_d8){
return $telerik.getFirstChildByTagName(_d8,"span",0);
}else{
return null;
}
},get_panelBar:function(){
return this._getControl();
},get_items:function(){
return this._getChildren();
},get_navigateUrl:function(){
return this._getNavigateUrl();
},set_navigateUrl:function(_d9){
this._properties.setValue("navigateUrl",_d9,true);
if(this.get_linkElement()){
this.get_linkElement().href=_d9;
}
},get_navigateAfterClick:function(){
return this._shouldNavigate()||this._shouldPostBack();
},get_target:function(){
return this._properties.getValue("target",null);
},set_target:function(_da){
this._target=_da;
this._properties.setValue("target",_da,true);
},get_cssClass:function(){
return this._properties.getValue("cssClass","");
},set_cssClass:function(_db){
this._cssClass=_db;
this._properties.setValue("cssClass",_db,true);
this._updateLinkClass();
},get_disabledCssClass:function(){
return this._properties.getValue("disabledCssClass","rpDisabled");
},set_disabledCssClass:function(_dc){
this._disbaledCssClass=_dc;
this._properties.setValue("disabledCssClass",_dc,true);
this._updateLinkClass();
},get_expandedCssClass:function(){
return this._properties.getValue("expandedCssClass","rpExpanded");
},set_expandedCssClass:function(_dd){
this._expandedCssClass=_dd;
this._properties.setValue("expandedCssClass",_dd,true);
this._updateLinkClass();
},get_selectedCssClass:function(){
return this._properties.getValue("selectedCssClass","rpSelected");
},set_selectedCssClass:function(_de){
this._selectedCssClass=_de;
this._properties.setValue("selectedCssClass",_de,true);
this._updateLinkClass();
},get_focusedCssClass:function(){
return this._properties.getValue("focusedCssClass","rpFocused");
},set_focusedCssClass:function(_df){
this._focusedCssClass=_df;
this._properties.setValue("focusedCssClass",_df,true);
this._updateLinkClass();
},get_clickedCssClass:function(){
return this._properties.getValue("clickedCssClass","rpClicked");
},set_clickedCssClass:function(_e0){
this._clickedCssClass=_e0;
this._properties.setValue("clickedCssClass",_e0,true);
this._updateLinkClass();
},get_focused:function(){
return this._focused;
},get_selected:function(){
return this._properties.getValue("selected",false)==true;
},get_clicked:function(){
return this._clicked;
},set_selected:function(_e1){
if(_e1){
if(this.get_selected()||!this.get_isEnabled()){
return;
}
var _e2=this.get_panelBar().get_selectedItem();
if(_e2){
_e2.unSelect();
}
this.get_panelBar().set_selectedItem(this);
this.get_panelBar()._registerSelectedItem(this);
this._selected=_e1;
this._properties.setValue("selected",true);
this._updateLinkClass();
}else{
if(!this.get_selected()){
return;
}
this.get_panelBar().set_selectedItem(null);
this.get_panelBar()._unregisterSelectedItem(this);
this._selected=_e1;
this._properties.setValue("selected",false);
this._updateLinkClass();
}
},get_expanded:function(){
return this._properties.getValue("expanded",false);
},set_expanded:function(_e3){
if(this.get_items().get_count()<=0||!this.get_isEnabled()){
return;
}
if(_e3){
if(this.get_expanded()){
return;
}
var _e4=this.get_panelBar();
var _e5=this.get_childListElement();
var _e6=this.get_parent();
if(this.get_level()==0&&_e4.get_fullExpandedItem()){
_e5.style.height=_e4._getGroupHeight()+"px";
}
_e5.style.display="none";
_e5.style.width="100%";
if(this.get_level()>0&&!_e4.get_fullExpandedItem()){
_e6._setChildrenHeight("");
}
if(_e6.get_expandedItem()&&_e4.get_singleExpandedItem()){
_e6.get_expandedItem().collapse();
}
_e6.set_expandedItem(this);
_e4.set_lastExpandedItem(this);
_e4._registerExpandedItem(this);
this._expanded=true;
_e5.style.display="block";
this._displayChildren(true);
var _e7=this.get_panelBar();
var _e8=new Telerik.Web.UI.RadPanelItemExpandEventArgs(this,null);
_e7._raiseEvent("itemExpand",_e8);
}else{
if(!this.get_expanded()){
return;
}
if(this.get_preventCollapse()){
return;
}
var _e4=this.get_panelBar();
var _e5=this.get_childListElement();
var _e6=this.get_parent();
_e6.set_expandedItem(null);
_e6.set_lastExpandedItem(_e6);
this._expanded=false;
_e4._unregisterExpandedItem(this);
if(this.get_level()>0&&!_e4.get_fullExpandedItem()){
_e6._setChildrenHeight("");
}
this._displayChildren(false);
var _e7=this.get_panelBar();
var _e9=new Telerik.Web.UI.RadPanelItemCollapseEventArgs(this,null);
_e7._raiseEvent("itemCollapse",_e9);
}
this._expanded=_e3;
this._properties.setValue("expanded",_e3,true);
this._updateLinkClass();
},get_expandable:function(){
if(this.get_linkElement()&&this.get_linkElement().className.indexOf("rpExpandable")>-1){
return true;
}else{
return false;
}
},get_postBack:function(){
return this._properties.getValue("postBack",true)==true;
},set_postBack:function(_ea){
this._properties.setValue("postBack",_ea);
},_getChildElements:function(){
return $telerik.getChildrenByTagName(this.get_childListElement(),"li");
},_canFocus:function(){
return (!this.get_isSeparator())&&this.get_enabled();
},_focus:function(e){
this.set_focused(true,e);
},_blur:function(e){
this.set_focused(false,e);
},set_focused:function(_ed,e){
if(_ed){
this._doFocus(e);
}else{
this._doBlur(e);
}
this._focused=_ed;
this._updateLinkClass();
},_doFocus:function(e){
if(!this._canFocus()){
return;
}
this._ensureChildControls();
var _f0=this.get_parent();
if(_f0.get_expanded&&(!_f0.get_expanded())&&_f0.expand){
_f0.expand();
}
_f0.set_focusedItem(this);
var _f1=this.get_linkElement();
if(_f1){
_f1.focus();
}
this.get_panelBar()._raiseEvent("itemFocus",new Telerik.Web.UI.RadPanelItemFocusEventArgs(this,e));
},_doBlur:function(e){
if(this.get_isSeparator()){
return;
}
if(this.get_focused()){
this.get_linkElement().blur();
}
this.get_parent()._focusedItem=null;
var _f3=this.get_panelBar();
var _f4=this;
window.setTimeout(function(){
if(_f3._focusedItem==_f4){
_f3._focusedItem=null;
}
},100);
this.get_panelBar()._raiseEvent("itemBlur",new Telerik.Web.UI.RadPanelItemBlurEventArgs(this,e));
},get_focusedItem:function(){
return this._focusedItem;
},set_focusedItem:function(_f5){
this._focusedItem=_f5;
},_createItemCollection:function(){
var _f6=new Telerik.Web.UI.RadPanelItemCollection(this);
Telerik.Web.UI.RadPanelBar._createChildControls(this,_f6);
return _f6;
},_createChildControls:function(){
Telerik.Web.UI.RadPanelItem.callBaseMethod(this,"_createChildControls");
},_determineCssClass:function(){
var _f7="rpItem";
var _f8=this.get_parent();
var _f9=_f8.get_items().get_count();
var _fa=_f9-1;
if(this.get_index()==0&&_f9>0){
var _fb=_f8.get_items().getItem(1);
if(_fb&&_fb.get_element()){
if(_fb.get_index()==_fa){
this._replaceCssClass(_fb.get_element(),"rpItem rpFirst rpLast","rpItem rpLast");
this._replaceCssClass(_fb.get_element(),"rpItem rpFirst","rpItem rpLast");
}else{
this._replaceCssClass(_fb.get_element(),"rpItem rpFirst","rpItem");
}
}
_f7+=" "+"rpFirst";
}
if(this.get_index()==_fa&&_f9>0){
var _fc=_f8.get_items().getItem(_fa-1);
if(_fc&&_fc.get_element()){
if(_fc.get_index()==0){
this._replaceCssClass(_fc.get_element(),"rpItem rpFirst rpLast","rpItem rpFirst");
this._replaceCssClass(_fc.get_element(),"rpItem rpLast","rpItem rpFirst");
}else{
this._replaceCssClass(_fc.get_element(),"rpItem rpLast","rpItem");
}
}
_f7+=" "+"rpLast";
}
if(this.get_isSeparator()){
_f7+=" "+"rpSeparator";
}
return _f7;
},get_imageUrl:function(){
if(this._imageUrl=this._properties.getValue("imageUrl",null)){
return this._imageUrl;
}
if(!this._imageUrl){
var _fd=this.get_imageElement();
if(_fd){
this._imageUrl=_fd.src;
}
}
return this._imageUrl;
},set_imageUrl:function(_fe){
this._imageUrl=_fe;
this._properties.setValue("imageUrl",_fe,true);
this._updateImageUrl();
},get_hoveredImageUrl:function(){
return this._properties.getValue("hoveredImageUrl",null);
},set_hoveredImageUrl:function(_ff){
this._hoveredImageUrl=_ff;
this._properties.setValue("hoveredImageUrl",_ff,true);
this._updateImageUrl();
},get_selectedImageUrl:function(){
return this._properties.getValue("selectedImageUrl",null);
},set_selectedImageUrl:function(_100){
this._selectedImageUrl=_100;
this._properties.setValue("selectedImageUrl",_100,true);
this._updateImageUrl();
},get_expandedImageUrl:function(){
return this._properties.getValue("expandedImageUrl",null);
},set_expandedImageUrl:function(_101){
this._expandedImageUrl=_101;
this._properties.setValue("expandedImageUrl",_101,true);
this._updateImageUrl();
},set_expandedItem:function(_102){
this._expandedItem=_102;
},get_expandedItem:function(){
return this._expandedItem;
},set_selectedItem:function(_103){
this._selectedItem=_103;
},get_selectedItem:function(){
return this._selectedItem;
},get_templated:function(){
return this._properties.getValue("templated",false)==true;
},get_preventCollapse:function(){
return this._properties.getValue("preventCollapse",false)==true;
},set_preventCollapse:function(_104){
this._preventCollapse=_104;
this._properties.setValue("preventCollapse",_104,true);
},_render:function(html){
var _106="rpItem";
var _107=false;
if(this.get_parent().get_items().get_count()==1){
_107=true;
}
html[html.length]="<li class='"+this._determineCssClass()+"'>";
this._renderLink(html);
if(this.get_imageUrl()){
this._renderImage(html);
}
html[html.length]="<span class='rpText'>";
html[html.length]=this.get_text();
html[html.length]="</span></a>";
var _108=this.get_items();
var _109=_108.get_count();
this._renderChildList(html);
html[html.length]="</li>";
},_renderImage:function(html){
html[html.length]="<img alt='' src='"+this._getImageUrlToApply()+"' class='rpImage'";
html[html.length]="/>";
return html;
},_renderLink:function(html){
if(this._isSeparator){
return;
}
var href="#";
var _10d=this.get_navigateUrl();
if(_10d&&_10d!="#"){
href=_10d;
}
html[html.length]="<a href=\"";
html[html.length]=href;
html[html.length]="\" ";
var _10e=this.get_target();
if(_10e){
html[html.length]="target=\"";
html[html.length]=_10e;
html[html.length]="\" ";
}
if(this.get_enabled()){
html[html.length]="class=\"rpLink\"";
}else{
html[html.length]="class=\"rpLink rpDisabled\"";
}
html[html.length]=">";
return html;
},_renderChildList:function(html){
var _110=this.get_items().get_count();
if(_110>0){
html[html.length]="<div class='rpSlide' style='";
if(this.get_expanded()){
html[html.length]="display : block";
}
html[html.length]=" '>";
var _111="rpLevel"+(this.get_level()+1);
groupCssClass="rpGroup"+" "+_111;
html[html.length]="<ul class='"+groupCssClass;
if(this.get_expanded()){
html[html.length]="style='display : block'";
}
html[html.length]="'>";
for(var i=0;i<_110;i++){
this.get_items().getItem(i)._render(html);
}
html[html.length]="</ul></div>";
}
},_renderAccessKey:function(){
if(this.get_isSeparator()){
return;
}
if(!this.get_linkElement()){
return;
}
var _113=this.get_linkElement().accessKey.toLowerCase();
if(!_113){
return;
}
var text=this.get_textElement().firstChild.nodeValue;
var _115=text.toLowerCase().indexOf(_113);
if(_115==-1){
return;
}
this.get_textElement().innerHTML=text.substr(0,_115)+"<u>"+text.substr(_115,1)+"</u>"+text.substr(_115+1,text.length);
},_createChildListElement:function(){
var _116=document.createElement("ul");
var _117="rpLevel"+(this.get_level()+1);
groupCssClass="rpGroup"+" "+_117;
_116.className=groupCssClass;
var _118=this._createSlideWrapElement();
_118.appendChild(_116);
this.get_element().appendChild(_118);
return _118;
},_createSlideWrapElement:function(){
var _119=document.createElement("div");
_119.className="rpSlide";
if(this.get_expanded()){
_119.style.display="block";
}else{
_119.style.display="none";
}
return _119;
},_calculateGroupHeight:function(){
var _11a=this.get_childListElement();
if(this.get_level()==0&&this.get_panelBar().get_fullExpandedItem()){
_11a.style.height=this.get_panelBar()._getGroupHeight()+"px";
}
},_displayChildren:function(show){
var _11c=this._getAnimationContainer();
if(!_11c){
return;
}
if(this._animation){
this._animation.stop();
}
_11c.style.height="auto";
var _11d=this.get_panelBar();
if(show){
_11c.style.visibility="hidden";
_11c.style.display="block";
var _11e=_11c.offsetHeight;
this._expanding=true;
var _11f=_11d.get_expandAnimation();
if(_11f.get_type()!=Telerik.Web.UI.AnimationType.None){
this._playAnimation(_11d.get_expandAnimation(),0,_11e);
}else{
this._playAnimation(_11d.get_expandAnimation(),_11e,_11e);
}
}else{
this._expanding=false;
var _120=_11d.get_collapseAnimation();
if(_120.get_type()!=Telerik.Web.UI.AnimationType.None){
this._playAnimation(_11d.get_collapseAnimation(),_11c.offsetHeight,0);
}else{
this._animationEnded();
}
}
},_playAnimation:function(_121,_122,_123){
var _124=_121.get_duration();
var _125=Telerik.Web.UI.AnimationFunctions.CalculateAnimationPoints(_121,_122,_123,this._fps);
var _126=this._getAnimationContainer();
for(var i=0;i<_125.length;i++){
_125[i]=Math.max(0,parseInt(_125[i]))+"px";
}
_126.style.visibility="visible";
if(this._animation){
this._animation.set_duration(_124/1000);
this._animation.set_values(_125);
}else{
this._animation=new $TWA.DiscreteAnimation(_126,_124/1000,this._fps,"style","height",_125);
this._animation.add_ended(this._animationEndedDelegate);
this._animation.add_started(this._onExpandAnimationStartedDelegate);
}
this._animation.play();
},_disposeAnimation:function(){
if(this._animation){
this._animation.dispose();
this._animation=null;
}
},_animationEnded:function(){
if(!this._expanding){
this._getAnimationContainer().style.display="none";
}else{
if(window.netscape&&!window.opera&&this._changedOverflow){
this.get_childListElement().style.overflow="auto";
this._changedOverflow=false;
}
this._getAnimationContainer().style.height="auto";
this.get_panelBar()._callRadShow();
}
},_onExpandAnimationStarted:function(_128,e){
if(window.netscape&&!window.opera){
this.get_childListElement().style.overflow="hidden";
this._changedOverflow=true;
}
}};
Telerik.Web.UI.RadPanelItem.registerClass("Telerik.Web.UI.RadPanelItem",Telerik.Web.UI.ControlItem);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadPanelItemCollection=function(_12a){
Telerik.Web.UI.RadPanelItemCollection.initializeBase(this,[_12a]);
};
Telerik.Web.UI.RadPanelItemCollection.prototype={insert:function(_12b,item){
var _12d=this._parent._getControl();
if(_12d){
_12d._childInserting(_12b,item,this._parent);
}
Telerik.Web.UI.RadPanelItemCollection.callBaseMethod(this,"insert",[_12b,item]);
}};
Telerik.Web.UI.RadPanelItemCollection.registerClass("Telerik.Web.UI.RadPanelItemCollection",Telerik.Web.UI.ControlItemCollection);


/* END Telerik.Web.UI.PanelBar.RadPanelBarScripts.js */
/* START AjaxControlToolkit.Common.Common.js */
// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Permissive License.
// See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx.
// All other rights reserved.


/// <reference name="MicrosoftAjax.debug.js" />
/// <reference name="MicrosoftAjaxTimer.debug.js" />
/// <reference name="MicrosoftAjaxWebForms.debug.js" />


// Add common toolkit scripts here.  To consume the scripts on a control add
// 
//      [RequiredScript(typeof(CommonToolkitScripts))] 
//      public class SomeExtender : ...
// 
// to the controls extender class declaration.


Type.registerNamespace('AjaxControlToolkit');


AjaxControlToolkit.BoxSide = function() {
    /// <summary>
    /// The BoxSide enumeration describes the sides of a DOM element
    /// </summary>
    /// <field name="Top" type="Number" integer="true" static="true" />
    /// <field name="Right" type="Number" integer="true" static="true" />
    /// <field name="Bottom" type="Number" integer="true" static="true" />
    /// <field name="Left" type="Number" integer="true" static="true" />
}
AjaxControlToolkit.BoxSide.prototype = {
    Top : 0,
    Right : 1,
    Bottom : 2,
    Left : 3
}
AjaxControlToolkit.BoxSide.registerEnum("AjaxControlToolkit.BoxSide", false);


AjaxControlToolkit._CommonToolkitScripts = function() {
    /// <summary>
    /// The _CommonToolkitScripts class contains functionality utilized across a number
    /// of controls (but not universally)
    /// </summary>
    /// <remarks>
    /// You should not create new instances of _CommonToolkitScripts.  Instead you should use the shared instance CommonToolkitScripts (or AjaxControlToolkit.CommonToolkitScripts).
    /// </remarks>
}
AjaxControlToolkit._CommonToolkitScripts.prototype = {
    // The order of these lookup tables is directly linked to the BoxSide enum defined above
    _borderStyleNames : ["borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],
    _borderWidthNames : ["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"],
    _paddingWidthNames : ["paddingTop", "paddingRight", "paddingBottom", "paddingLeft"],
    _marginWidthNames : ["marginTop", "marginRight", "marginBottom", "marginLeft"],

    getCurrentStyle : function(element, attribute, defaultValue) {
        /// <summary>
        /// CommonToolkitScripts.getCurrentStyle is used to compute the value of a style attribute on an
        /// element that is currently being displayed.  This is especially useful for scenarios where
        /// several CSS classes and style attributes are merged, or when you need information about the
        /// size of an element (such as its padding or margins) that is not exposed in any other fashion.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// Live DOM element to check style of
        /// </param>
        /// <param name="attribute" type="String">
        /// The style attribute's name is expected to be in a camel-cased form that you would use when
        /// accessing a JavaScript property instead of the hyphenated form you would use in a CSS
        /// stylesheet (i.e. it should be "backgroundColor" and not "background-color").
        /// </param>
        /// <param name="defaultValue" type="Object" mayBeNull="true" optional="true">
        /// In the event of a problem (i.e. a null element or an attribute that cannot be found) we
        /// return this object (or null if none if not specified).
        /// </param>
        /// <returns type="Object">
        /// Current style of the element's attribute
        /// </returns>

        var currentValue = null;
        if (element) {
            if (element.currentStyle) {
                currentValue = element.currentStyle[attribute];
            } else if (document.defaultView && document.defaultView.getComputedStyle) {
                var style = document.defaultView.getComputedStyle(element, null);
                if (style) {
                    currentValue = style[attribute];
                }
            }
            
            if (!currentValue && element.style.getPropertyValue) {
                currentValue = element.style.getPropertyValue(attribute);
            }
            else if (!currentValue && element.style.getAttribute) {
                currentValue = element.style.getAttribute(attribute);
            }       
        }
        
        if ((!currentValue || currentValue == "" || typeof(currentValue) === 'undefined')) {
            if (typeof(defaultValue) != 'undefined') {
                currentValue = defaultValue;
            }
            else {
                currentValue = null;
            }
        }   
        return currentValue;  
    },

    getInheritedBackgroundColor : function(element) {
        /// <summary>
        /// CommonToolkitScripts.getInheritedBackgroundColor provides the ability to get the displayed
        /// background-color of an element.  In most cases calling CommonToolkitScripts.getCurrentStyle
        /// won't do the job because it will return "transparent" unless the element has been given a
        /// specific background color.  This function will walk up the element's parents until it finds
        /// a non-transparent color.  If we get all the way to the top of the document or have any other
        /// problem finding a color, we will return the default value '#FFFFFF'.  This function is
        /// especially important when we're using opacity in IE (because ClearType will make text look
        /// horrendous if you fade it with a transparent background color).
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// Live DOM element to get the background color of
        /// </param>
        /// <returns type="String">
        /// Background color of the element
        /// </returns>
        
        if (!element) return '#FFFFFF';
        var background = this.getCurrentStyle(element, 'backgroundColor');
        try {
            while (!background || background == '' || background == 'transparent' || background == 'rgba(0, 0, 0, 0)') {
                element = element.parentNode;
                if (!element) {
                    background = '#FFFFFF';
                } else {
                    background = this.getCurrentStyle(element, 'backgroundColor');
                }
            }
        } catch(ex) {
            background = '#FFFFFF';
        }
        return background;
    },

    getLocation : function(element) {
    /// <summary>Gets the coordinates of a DOM element.</summary>
    /// <param name="element" domElement="true"/>
    /// <returns type="Sys.UI.Point">
    ///   A Point object with two fields, x and y, which contain the pixel coordinates of the element.
    /// </returns>

    // workaround for an issue in getLocation where it will compute the location of the document element.
    // this will return an offset if scrolled.
    //
    if (element === document.documentElement) {
        return new Sys.UI.Point(0,0);
    }

    // Workaround for IE6 bug in getLocation (also required patching getBounds - remove that fix when this is removed)
    if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) {
        if (element.window === element || element.nodeType === 9 || !element.getClientRects || !element.getBoundingClientRect) return new Sys.UI.Point(0,0);

        // Get the first bounding rectangle in screen coordinates
        var screenRects = element.getClientRects();
        if (!screenRects || !screenRects.length) {
            return new Sys.UI.Point(0,0);
        }
        var first = screenRects[0];

        // Delta between client coords and screen coords
        var dLeft = 0;
        var dTop = 0;

        var inFrame = false;
        try {
            inFrame = element.ownerDocument.parentWindow.frameElement;
        } catch(ex) {
            // If accessing the frameElement fails, a frame is probably in a different
            // domain than its parent - and we still want to do the calculation below
            inFrame = true;
        }

        // If we're in a frame, get client coordinates too so we can compute the delta
        if (inFrame) {
            // Get the bounding rectangle in client coords
            var clientRect = element.getBoundingClientRect();
            if (!clientRect) {
                return new Sys.UI.Point(0,0);
            }

            // Find the minima in screen coords
            var minLeft = first.left;
            var minTop = first.top;
            for (var i = 1; i < screenRects.length; i++) {
                var r = screenRects[i];
                if (r.left < minLeft) {
                    minLeft = r.left;
                }
                if (r.top < minTop) {
                    minTop = r.top;
                }
            }

            // Compute the delta between screen and client coords
            dLeft = minLeft - clientRect.left;
            dTop = minTop - clientRect.top;
        }

        // Subtract 2px, the border of the viewport (It can be changed in IE6 by applying a border style to the HTML element,
        // but this is not supported by ASP.NET AJAX, and it cannot be changed in IE7.), and also subtract the delta between
        // screen coords and client coords
        var ownerDocument = element.document.documentElement;
        return new Sys.UI.Point(first.left - 2 - dLeft + ownerDocument.scrollLeft, first.top - 2 - dTop + ownerDocument.scrollTop);
    }

    return Sys.UI.DomElement.getLocation(element);
},

    setLocation : function(element, point) {
        /// <summary>
        /// Sets the current location for an element.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="point" type="Object">
        /// Point object (of the form {x,y})
        /// </param>
        /// <remarks>
        /// This method does not attempt to set the positioning mode of an element.
        /// The position is relative from the elements nearest position:relative or
        /// position:absolute element.
        /// </remarks>
        Sys.UI.DomElement.setLocation(element, point.x, point.y);
    },
    
    getContentSize : function(element) {
        /// <summary>
        /// Gets the "content-box" size of an element.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <returns type="Object">
        /// Size of the element (in the form {width,height})
        /// </returns>
        /// <remarks>
        /// The "content-box" is the size of the content area *inside* of the borders and
        /// padding of an element. The "content-box" size does not include the margins around
        /// the element.
        /// </remarks>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        var size = this.getSize(element);
        var borderBox = this.getBorderBox(element);
        var paddingBox = this.getPaddingBox(element);
        return {
            width :  size.width - borderBox.horizontal - paddingBox.horizontal,
            height : size.height - borderBox.vertical - paddingBox.vertical
        }
    },

    getSize : function(element) {
        /// <summary>
        /// Gets the "border-box" size of an element.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <returns type="Object">
        /// Size of the element (in the form {width,height})
        /// </returns>
        /// <remarks>
        /// The "border-box" is the size of the content area *outside* of the borders and
        /// padding of an element.  The "border-box" size does not include the margins around
        /// the element.
        /// </remarks>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        return {
            width:  element.offsetWidth,
            height: element.offsetHeight
        };
    },
    
    setContentSize : function(element, size) {
        /// <summary>
        /// Sets the "content-box" size of an element.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="size" type="Object">
        /// Size of the element (in the form {width,height})
        /// </param>
        /// <remarks>
        /// The "content-box" is the size of the content area *inside* of the borders and
        /// padding of an element. The "content-box" size does not include the margins around
        /// the element.
        /// </remarks>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (!size) {
            throw Error.argumentNull('size');
        }
        // FF respects -moz-box-sizing css extension, so adjust the box size for the border-box
        if(this.getCurrentStyle(element, 'MozBoxSizing') == 'border-box' || this.getCurrentStyle(element, 'BoxSizing') == 'border-box') {
            var borderBox = this.getBorderBox(element);
            var paddingBox = this.getPaddingBox(element);
            size = {
                width: size.width + borderBox.horizontal + paddingBox.horizontal,
                height: size.height + borderBox.vertical + paddingBox.vertical
            };
        }
        element.style.width = size.width.toString() + 'px';
        element.style.height = size.height.toString() + 'px';
    },
    
    setSize : function(element, size) {
        /// <summary>
        /// Sets the "border-box" size of an element.
        /// </summary>
        /// <remarks>
        /// The "border-box" is the size of the content area *outside* of the borders and 
        /// padding of an element.  The "border-box" size does not include the margins around
        /// the element.
        /// </remarks>
        /// <param name="element" type="Sys.UI.DomElement">DOM element</param>
        /// <param name="size" type="Object">Size of the element (in the form {width,height})</param>
        /// <returns />
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (!size) {
            throw Error.argumentNull('size');
        }
        var borderBox = this.getBorderBox(element);
        var paddingBox = this.getPaddingBox(element);
        var contentSize = {
            width:  size.width - borderBox.horizontal - paddingBox.horizontal,
            height: size.height - borderBox.vertical - paddingBox.vertical
        };
        this.setContentSize(element, contentSize);
    },
    
    getBounds : function(element) {
        /// <summary>Gets the coordinates, width and height of an element.</summary>
        /// <param name="element" domElement="true"/>
        /// <returns type="Sys.UI.Bounds">
        ///   A Bounds object with four fields, x, y, width and height, which contain the pixel coordinates,
        ///   width and height of the element.
        /// </returns>
        /// <remarks>
        ///   Use the CommonToolkitScripts version of getLocation to handle the workaround for IE6.  We can
        ///   remove the below implementation and just call Sys.UI.DomElement.getBounds when the other bug
        ///   is fixed.
        /// </remarks>
        
        var offset = $common.getLocation(element);
        return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0);
    }, 
    
    setBounds : function(element, bounds) {
        /// <summary>
        /// Sets the "border-box" bounds of an element
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="bounds" type="Object">
        /// Bounds of the element (of the form {x,y,width,height})
        /// </param>
        /// <remarks>
        /// The "border-box" is the size of the content area *outside* of the borders and
        /// padding of an element.  The "border-box" size does not include the margins around
        /// the element.
        /// </remarks>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (!bounds) {
            throw Error.argumentNull('bounds');
        }
        this.setSize(element, bounds);
        $common.setLocation(element, bounds);
    },
    
    getClientBounds : function() {
        /// <summary>
        /// Gets the width and height of the browser client window (excluding scrollbars)
        /// </summary>
        /// <returns type="Sys.UI.Bounds">
        /// Browser's client width and height
        /// </returns>

        var clientWidth;
        var clientHeight;
        switch(Sys.Browser.agent) {
            case Sys.Browser.InternetExplorer:
                clientWidth = document.documentElement.clientWidth;
                clientHeight = document.documentElement.clientHeight;
                break;
            case Sys.Browser.Safari:
                clientWidth = window.innerWidth;
                clientHeight = window.innerHeight;
                break;
            case Sys.Browser.Opera:
                clientWidth = Math.min(window.innerWidth, document.body.clientWidth);
                clientHeight = Math.min(window.innerHeight, document.body.clientHeight);
                break;
            default:  // Sys.Browser.Firefox, etc.
                clientWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);
                clientHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);
                break;
        }
        return new Sys.UI.Bounds(0, 0, clientWidth, clientHeight);
    },
   
    getMarginBox : function(element) {
        /// <summary>
        /// Gets the entire margin box sizes.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <returns type="Object">
        /// Element's margin box sizes (of the form {top,left,bottom,right,horizontal,vertical})
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        var box = {
            top: this.getMargin(element, AjaxControlToolkit.BoxSide.Top),
            right: this.getMargin(element, AjaxControlToolkit.BoxSide.Right),
            bottom: this.getMargin(element, AjaxControlToolkit.BoxSide.Bottom),
            left: this.getMargin(element, AjaxControlToolkit.BoxSide.Left)
        };
        box.horizontal = box.left + box.right;
        box.vertical = box.top + box.bottom;
        return box;
    },
    
    getBorderBox : function(element) {
        /// <summary>
        /// Gets the entire border box sizes.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <returns type="Object">
        /// Element's border box sizes (of the form {top,left,bottom,right,horizontal,vertical})
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        var box = {
            top: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Top),
            right: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Right),
            bottom: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Bottom),
            left: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Left)
        };
        box.horizontal = box.left + box.right;
        box.vertical = box.top + box.bottom;
        return box;
    },
    
    getPaddingBox : function(element) {
        /// <summary>
        /// Gets the entire padding box sizes.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <returns type="Object">
        /// Element's padding box sizes (of the form {top,left,bottom,right,horizontal,vertical})
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        var box = {
            top: this.getPadding(element, AjaxControlToolkit.BoxSide.Top),
            right: this.getPadding(element, AjaxControlToolkit.BoxSide.Right),
            bottom: this.getPadding(element, AjaxControlToolkit.BoxSide.Bottom),
            left: this.getPadding(element, AjaxControlToolkit.BoxSide.Left)
        };
        box.horizontal = box.left + box.right;
        box.vertical = box.top + box.bottom;
        return box;
    },
    
    isBorderVisible : function(element, boxSide) {
        /// <summary>
        /// Gets whether the current border style for an element on a specific boxSide is not 'none'.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="boxSide" type="AjaxControlToolkit.BoxSide">
        /// Side of the element
        /// </param>
        /// <returns type="Boolean">
        /// Whether the current border style for an element on a specific boxSide is not 'none'.
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        var styleName = this._borderStyleNames[boxSide];
        var styleValue = this.getCurrentStyle(element, styleName);
        return styleValue != "none";
    },
    
    getMargin : function(element, boxSide) {
        /// <summary>
        /// Gets the margin thickness of an element on a specific boxSide.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="boxSide" type="AjaxControlToolkit.BoxSide">
        /// Side of the element
        /// </param>
        /// <returns type="Number" integer="true">
        /// Margin thickness on the element's specified side
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        var styleName = this._marginWidthNames[boxSide];
        var styleValue = this.getCurrentStyle(element, styleName);
        try { return this.parsePadding(styleValue); } catch(ex) { return 0; }
    },

    getBorderWidth : function(element, boxSide) {
        /// <summary>
        /// Gets the border thickness of an element on a specific boxSide.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="boxSide" type="AjaxControlToolkit.BoxSide">
        /// Side of the element
        /// </param>
        /// <returns type="Number" integer="true">
        /// Border thickness on the element's specified side
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        if(!this.isBorderVisible(element, boxSide)) {
            return 0;
        }        
        var styleName = this._borderWidthNames[boxSide];    
        var styleValue = this.getCurrentStyle(element, styleName);
        return this.parseBorderWidth(styleValue);
    },
    
    getPadding : function(element, boxSide) {
        /// <summary>
        /// Gets the padding thickness of an element on a specific boxSide.
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// DOM element
        /// </param>
        /// <param name="boxSide" type="AjaxControlToolkit.BoxSide">
        /// Side of the element
        /// </param>
        /// <returns type="Number" integer="true">
        /// Padding on the element's specified side
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        var styleName = this._paddingWidthNames[boxSide];
        var styleValue = this.getCurrentStyle(element, styleName);
        return this.parsePadding(styleValue);
    },
    
    parseBorderWidth : function(borderWidth) {
        /// <summary>
        /// Parses a border-width string into a pixel size
        /// </summary>
        /// <param name="borderWidth" type="String" mayBeNull="true">
        /// Type of border ('thin','medium','thick','inherit',px unit,null,'')
        /// </param>
        /// <returns type="Number" integer="true">
        /// Number of pixels in the border-width
        /// </returns>
        if (!this._borderThicknesses) {
            
            // Populate the borderThicknesses lookup table
            var borderThicknesses = { };
            var div0 = document.createElement('div');
            div0.style.visibility = 'hidden';
            div0.style.position = 'absolute';
            div0.style.fontSize = '1px';
            document.body.appendChild(div0)
            var div1 = document.createElement('div');
            div1.style.height = '0px';
            div1.style.overflow = 'hidden';
            div0.appendChild(div1);
            var base = div0.offsetHeight;
            div1.style.borderTop = 'solid black';
            div1.style.borderTopWidth = 'thin';
            borderThicknesses['thin'] = div0.offsetHeight - base;
            div1.style.borderTopWidth = 'medium';
            borderThicknesses['medium'] = div0.offsetHeight - base;
            div1.style.borderTopWidth = 'thick';
            borderThicknesses['thick'] = div0.offsetHeight - base;
            div0.removeChild(div1);
            document.body.removeChild(div0);
            this._borderThicknesses = borderThicknesses;
        }
        
        if (borderWidth) {
            switch(borderWidth) {
                case 'thin':
                case 'medium':
                case 'thick':
                    return this._borderThicknesses[borderWidth];
                case 'inherit':
                    return 0;
            }
            var unit = this.parseUnit(borderWidth);
            Sys.Debug.assert(unit.type == 'px', String.format(AjaxControlToolkit.Resources.Common_InvalidBorderWidthUnit, unit.type));
            return unit.size;
        }
        return 0;
    },
    
    parsePadding : function(padding) {
        /// <summary>
        /// Parses a padding string into a pixel size
        /// </summary>
        /// <param name="padding" type="String" mayBeNull="true">
        /// Padding to parse ('inherit',px unit,null,'')
        /// </param>
        /// <returns type="Number" integer="true">
        /// Number of pixels in the padding
        /// </returns>
        
        if(padding) {
            if(padding == 'inherit') {
                return 0;
            }
            var unit = this.parseUnit(padding);
            Sys.Debug.assert(unit.type == 'px', String.format(AjaxControlToolkit.Resources.Common_InvalidPaddingUnit, unit.type));
            return unit.size;
        }
        return 0;
    },
    
    parseUnit : function(value) {
        /// <summary>
        /// Parses a unit string into a unit object
        /// </summary>
        /// <param name="value" type="String" mayBeNull="true">
        /// Value to parse (of the form px unit,% unit,em unit,...)
        /// </param>
        /// <returns type="Object">
        /// Parsed unit (of the form {size,type})
        /// </returns>
        
        if (!value) {
            throw Error.argumentNull('value');
        }
        
        value = value.trim().toLowerCase();
        var l = value.length;
        var s = -1;
        for(var i = 0; i < l; i++) {
            var ch = value.substr(i, 1);
            if((ch < '0' || ch > '9') && ch != '-' && ch != '.' && ch != ',') {
                break;
            }
            s = i;
        }
        if(s == -1) {
            throw Error.create(AjaxControlToolkit.Resources.Common_UnitHasNoDigits);
        }
        var type;
        var size;
        if(s < (l - 1)) {
            type = value.substring(s + 1).trim();
        } else {
            type = 'px';
        }
        size = parseFloat(value.substr(0, s + 1));
        if(type == 'px') {
            size = Math.floor(size);
        }
        return { 
            size: size,
            type: type
        };
    },
    
    getElementOpacity : function(element) {
        /// <summary>
        /// Get the element's opacity
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// Element
        /// </param>
        /// <returns type="Number">
        /// Opacity of the element
        /// </returns>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        
        var hasOpacity = false;
        var opacity;
        
        if (element.filters) {
            var filters = element.filters;
            if (filters.length !== 0) {
                var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];
                if (alphaFilter) {
                    opacity = alphaFilter.opacity / 100.0;
                    hasOpacity = true;
                }
            }
        }
        else {
            opacity = this.getCurrentStyle(element, 'opacity', 1);
            hasOpacity = true;
        }
        
        if (hasOpacity === false) {
            return 1.0;
        }
        return parseFloat(opacity);
    },

    setElementOpacity : function(element, value) {
        /// <summary>
        /// Set the element's opacity
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// Element
        /// </param>
        /// <param name="value" type="Number">
        /// Opacity of the element
        /// </param>
        
        if (!element) {
            throw Error.argumentNull('element');
        }
        
        if (element.filters) {
            var filters = element.filters;
            var createFilter = true;
            if (filters.length !== 0) {
                var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];
                if (alphaFilter) {
                    createFilter = false;
                    alphaFilter.opacity = value * 100;
                }
            }
            if (createFilter) {
                element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (value * 100) + ')';
            }
        }
        else {
            element.style.opacity = value;
        }
    },
    
    getVisible : function(element) {
        /// <summary>
        /// Check if an element is visible
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// Element
        /// </param>
        /// <returns type="Boolean" mayBeNull="false">
        /// True if the element is visible, false otherwise
        /// </returns>
        
        // Note: reference to CommonToolkitScripts must be left intact (i.e. don't
        // replace with 'this') because this function will be aliased
        
        return (element &&
                ("none" != $common.getCurrentStyle(element, "display")) &&
                ("hidden" != $common.getCurrentStyle(element, "visibility")));
    },
    
    setVisible : function(element, value) {
        /// <summary>
        /// Check if an element is visible
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement" domElement="true">
        /// Element
        /// </param>
        /// <param name="value" type="Boolean" mayBeNull="false">
        /// True to make the element visible, false to hide it
        /// </param>
        
        // Note: reference to CommonToolkitScripts must be left intact (i.e. don't
        // replace with 'this') because this function will be aliased
        
        if (element && value != $common.getVisible(element)) {
            if (value) {
                if (element.style.removeAttribute) {
                    element.style.removeAttribute("display");
                } else {
                   element.style.removeProperty("display");
                }
            } else {
                element.style.display = 'none';
            }
            element.style.visibility = value ? 'visible' : 'hidden';
        }
    },
    
    resolveFunction : function(value) {
        /// <summary>
        /// Returns a function reference that corresponds to the provided value
        /// </summary>
        /// <param name="value" type="Object">
        /// The value can either be a Function, the name of a function (that can be found using window['name']),
        /// or an expression that evaluates to a function.
        /// </param>
        /// <returns type="Function">
        /// Reference to the function, or null if not found
        /// </returns>
        
        if (value) {
            if (value instanceof Function) {
                return value;
            } else if (String.isInstanceOfType(value) && value.length > 0) {
                var func;
                if ((func = window[value]) instanceof Function) {
                    return func;
                } else if ((func = eval(value)) instanceof Function) {
                    return func;
                }
            }
        }
        return null;
    },

    addCssClasses : function(element, classNames) {
        /// <summary>
        /// Adds multiple css classes to a DomElement
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to modify</param>
        /// <param name="classNames" type="Array">The class names to add</param>
        
        for(var i = 0; i < classNames.length; i++) {
            Sys.UI.DomElement.addCssClass(element, classNames[i]);
        }
    },
    removeCssClasses : function(element, classNames) {
        /// <summary>
        /// Removes multiple css classes to a DomElement
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to modify</param>
        /// <param name="classNames" type="Array">The class names to remove</param>
        
        for(var i = 0; i < classNames.length; i++) {
            Sys.UI.DomElement.removeCssClass(element, classNames[i]);
        }
    },
    setStyle : function(element, style) {
        /// <summary>
        /// Sets the style of the element using the supplied style template object
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to modify</param>
        /// <param name="style" type="Object">The template</param>

        $common.applyProperties(element.style, style);
    },
    removeHandlers : function(element, events) {
        /// <summary>
        /// Removes a set of event handlers from an element
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to modify</param>
        /// <param name="events" type="Object">The template object that contains event names and delegates</param>
        /// <remarks>
        /// This is NOT the same as $clearHandlers which removes all delegates from a DomElement.  This rather removes select delegates 
        /// from a specified element and has a matching signature as $addHandlers
        /// </remarks>
        for (var name in events) {
            $removeHandler(element, name, events[name]);
        }
    },
    
    overlaps : function(r1, r2) {
        /// <summary>
        /// Determine if two rectangles overlap
        /// </summary>
        /// <param name="r1" type="Object">
        /// Rectangle
        /// </param>
        /// <param name="r2" type="Object">
        /// Rectangle
        /// </param>
        /// <returns type="Boolean">
        /// True if the rectangles overlap, false otherwise
        /// </returns>
        
         return r1.x < (r2.x + r2.width)
                && r2.x < (r1.x + r1.width)
                && r1.y < (r2.y + r2.height)
                && r2.y < (r1.y + r1.height);
    },
    
    containsPoint : function(rect, x, y) {
        /// <summary>
        /// Tests whether a point (x,y) is contained within a rectangle
        /// </summary>
        /// <param name="rect" type="Object">The rectangle</param>
        /// <param name="x" type="Number">The x coordinate of the point</param>
        /// <param name="y" type="Number">The y coordinate of the point</param>
        
        return x >= rect.x && x < (rect.x + rect.width) && y >= rect.y && y < (rect.y + rect.height);
    },

    isKeyDigit : function(keyCode) { 
        /// <summary>
        /// Gets whether the supplied key-code is a digit
        /// </summary>
        /// <param name="keyCode" type="Number" integer="true">The key code of the event (from Sys.UI.DomEvent)</param>
        /// <returns type="Boolean" />

        return (0x30 <= keyCode && keyCode <= 0x39); 
    },
    
    isKeyNavigation : function(keyCode) { 
        /// <summary>
        /// Gets whether the supplied key-code is a navigation key
        /// </summary>
        /// <param name="keyCode" type="Number" integer="true">The key code of the event (from Sys.UI.DomEvent)</param>
        /// <returns type="Boolean" />

        return (Sys.UI.Key.left <= keyCode && keyCode <= Sys.UI.Key.down); 
    },
    
    padLeft : function(text, size, ch, truncate) { 
        /// <summary>
        /// Pads the left hand side of the supplied text with the specified pad character up to the requested size
        /// </summary>
        /// <param name="text" type="String">The text to pad</param>
        /// <param name="size" type="Number" integer="true" optional="true">The size to pad the text (default is 2)</param>
        /// <param name="ch" type="String" optional="true">The single character to use as the pad character (default is ' ')</param>
        /// <param name="truncate" type="Boolean" optional="true">Whether to truncate the text to size (default is false)</param>
        
        return $common._pad(text, size || 2, ch || ' ', 'l', truncate || false); 
    },
    
    padRight : function(text, size, ch, truncate) { 
        /// <summary>
        /// Pads the right hand side of the supplied text with the specified pad character up to the requested size
        /// </summary>
        /// <param name="text" type="String">The text to pad</param>
        /// <param name="size" type="Number" integer="true" optional="true">The size to pad the text (default is 2)</param>
        /// <param name="ch" type="String" optional="true">The single character to use as the pad character (default is ' ')</param>
        /// <param name="truncate" type="Boolean" optional="true">Whether to truncate the text to size (default is false)</param>

        return $common._pad(text, size || 2, ch || ' ', 'r', truncate || false); 
    },
    
    _pad : function(text, size, ch, side, truncate) {
        /// <summary>
        /// Pads supplied text with the specified pad character up to the requested size
        /// </summary>
        /// <param name="text" type="String">The text to pad</param>
        /// <param name="size" type="Number" integer="true">The size to pad the text</param>
        /// <param name="ch" type="String">The single character to use as the pad character</param>
        /// <param name="side" type="String">Either 'l' or 'r' to siginfy whether to pad the Left or Right side respectively</param>
        /// <param name="truncate" type="Boolean">Whether to truncate the text to size</param>

        text = text.toString();
        var length = text.length;
        var builder = new Sys.StringBuilder();
        if (side == 'r') {
            builder.append(text);
        } 
        while (length < size) {
            builder.append(ch);
            length++;
        }
        if (side == 'l') {
            builder.append(text);
        }
        var result = builder.toString();
        if (truncate && result.length > size) {
            if (side == 'l') {
                result = result.substr(result.length - size, size);
            } else {
                result = result.substr(0, size);
            }
        }
        return result;
    },
    
    __DOMEvents : {
        focusin : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("focusin", true, false, window, 1); } },
        focusout : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("focusout", true, false, window, 1); } },
        activate : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("activate", true, true, window, 1); } },
        focus : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("focus", false, false, window, 1); } },
        blur : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("blur", false, false, window, 1); } },
        click : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("click", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        dblclick : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("click", true, true, window, 2, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mousedown : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mousedown", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mouseup : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mouseup", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mouseover : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mouseover", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mousemove : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mouseout : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        load : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("load", false, false); } },
        unload : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("unload", false, false); } },
        select : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("select", true, false); } },
        change : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("change", true, false); } },
        submit : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("submit", true, true); } },
        reset : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("reset", true, false); } },
        resize : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("resize", true, false); } },
        scroll : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("scroll", true, false); } }
    },
    
    tryFireRawEvent : function(element, rawEvent) {
        /// <summary>
        /// Attempts to fire a raw DOM event on an element
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to fire the event</param>
        /// <param name="rawEvent" type="Object">The raw DOM event object to fire. Must not be Sys.UI.DomEvent</param>
        /// <returns type="Boolean">True if the event was successfully fired, otherwise false</returns>
        
        try {
            if (element.fireEvent) {
                element.fireEvent("on" + rawEvent.type, rawEvent);
                return true;
            } else if (element.dispatchEvent) {
                element.dispatchEvent(rawEvent);
                return true;
            }
        } catch (e) {
        }
        return false;
    },    

    tryFireEvent : function(element, eventName, properties) {
        /// <summary>
        /// Attempts to fire a DOM event on an element
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to fire the event</param>
        /// <param name="eventName" type="String">The name of the event to fire (without an 'on' prefix)</param>
        /// <param name="properties" type="Object">Properties to add to the event</param>
        /// <returns type="Boolean">True if the event was successfully fired, otherwise false</returns>
        
        try {
            if (document.createEventObject) {
                var e = document.createEventObject();
                $common.applyProperties(e, properties || {});
                element.fireEvent("on" + eventName, e);
                return true;
            } else if (document.createEvent) {
                var def = $common.__DOMEvents[eventName];
                if (def) {
                    var e = document.createEvent(def.eventGroup);
                    def.init(e, properties || {});
                    element.dispatchEvent(e);
                    return true;
                }
            }
        } catch (e) {
        }
        return false;
    },

    wrapElement : function(innerElement, newOuterElement, newInnerParentElement) {
        /// <summary>
        /// Wraps an inner element with a new outer element at the same DOM location as the inner element
        /// </summary>
        /// <param name="innerElement" type="Sys.UI.DomElement">The element to be wrapped</param>
        /// <param name="newOuterElement" type="Sys.UI.DomElement">The new parent for the element</param>
        /// <returns />
        
        var parent = innerElement.parentNode;
        parent.replaceChild(newOuterElement, innerElement);        
        (newInnerParentElement || newOuterElement).appendChild(innerElement);
    },

    unwrapElement : function(innerElement, oldOuterElement) {
        /// <summary>
        /// Unwraps an inner element from an outer element at the same DOM location as the outer element
        /// </summary>
        /// <param name="innerElement" type="Sys.UI.DomElement">The element to be wrapped</param>
        /// <param name="newOuterElement" type="Sys.UI.DomElement">The new parent for the element</param>
        /// <returns />

        var parent = oldOuterElement.parentNode;
        if (parent != null) {
            $common.removeElement(innerElement);
            parent.replaceChild(innerElement, oldOuterElement);
        }
    },
    
    removeElement : function(element) {
        /// <summary>
        /// Removes an element from the DOM tree
        /// </summary>
        /// <param name="element" type="Sys.UI.DomElement">The element to be removed</param>
        /// <returns />

        var parent = element.parentNode;
        if (parent != null) {
            parent.removeChild(element);
        }
    },
 
    applyProperties : function(target, properties) {
        /// <summary>
        /// Quick utility method to copy properties from a template object to a target object
        /// </summary>
        /// <param name="target" type="Object">The object to apply to</param>
        /// <param name="properties" type="Object">The template to copy values from</param>
        
        for (var p in properties) {
            var pv = properties[p];
            if (pv != null && Object.getType(pv)===Object) {
                var tv = target[p];
                $common.applyProperties(tv, pv);
            } else {
                target[p] = pv;
            }
        }
    },
        
    createElementFromTemplate : function(template, appendToParent, nameTable) {
        /// <summary>
        /// Creates an element for the current document based on a template object
        /// </summary>
        /// <param name="template" type="Object">The template from which to create the element</param>
        /// <param name="appendToParent" type="Sys.UI.DomElement" optional="true" mayBeNull="true">A DomElement under which to append this element</param>
        /// <param name="nameTable" type="Object" optional="true" mayBeNull="true">An object to use as the storage for the element using template.name as the key</param>
        /// <returns type="Sys.UI.DomElement" />
        /// <remarks>
        /// This method is useful if you find yourself using the same or similar DomElement constructions throughout a class.  You can even set the templates
        /// as static properties for a type to cut down on overhead.  This method is often called with a JSON style template:
        /// <code>
        /// var elt = $common.createElementFromTemplate({
        ///     nodeName : "div",
        ///     properties : {
        ///         style : {
        ///             height : "100px",
        ///             width : "100px",
        ///             backgroundColor : "white"
        ///         },
        ///         expandoAttribute : "foo"
        ///     },
        ///     events : {
        ///         click : function() { alert("foo"); },
        ///         mouseover : function() { elt.backgroundColor = "silver"; },
        ///         mouseout : function() { elt.backgroundColor = "white"; }
        ///     },
        ///     cssClasses : [ "class0", "class1" ],
        ///     visible : true,
        ///     opacity : .5
        /// }, someParent);
        /// </code>
        /// </remarks>
        
        // if we wish to override the name table we do so here
        if (typeof(template.nameTable)!='undefined') {
            var newNameTable = template.nameTable;
            if (String.isInstanceOfType(newNameTable)) {
                newNameTable = nameTable[newNameTable];
            }
            if (newNameTable != null) {
                nameTable = newNameTable;
            }
        }
        
        // get a name for the element in the nameTable
        var elementName = null;
        if (typeof(template.name)!=='undefined') {
            elementName = template.name;
        }
        
        // create or acquire the element
        var elt = document.createElement(template.nodeName);
        
        // if our element is named, add it to the name table
        if (typeof(template.name)!=='undefined' && nameTable) {
            nameTable[template.name] = elt;
        }
        
        // if we wish to supply a default parent we do so here
        if (typeof(template.parent)!=='undefined' && appendToParent == null) {
            var newParent = template.parent;
            if (String.isInstanceOfType(newParent)) {
                newParent = nameTable[newParent];
            }
            if (newParent != null) {
                appendToParent = newParent;
            }
        }
        
        // properties are applied as expando values to the element
        if (typeof(template.properties)!=='undefined' && template.properties != null) {
            $common.applyProperties(elt, template.properties);
        }
        
        // css classes are added to the element's className property
        if (typeof(template.cssClasses)!=='undefined' && template.cssClasses != null) {
            $common.addCssClasses(elt, template.cssClasses);
        }
        
        // events are added to the dom element using $addHandlers
        if (typeof(template.events)!=='undefined' && template.events != null) {
            $addHandlers(elt, template.events);
        }
        
        // if the element is visible or not its visibility is set
        if (typeof(template.visible)!=='undefined' && template.visible != null) {
            this.setVisible(elt, template.visible);
        }
        
        // if we have an appendToParent we will now append to it
        if (appendToParent) {
            appendToParent.appendChild(elt);
        }

        // if we have opacity, apply it
        if (typeof(template.opacity)!=='undefined' && template.opacity != null) {
            $common.setElementOpacity(elt, template.opacity);
        }
        
        // if we have child templates, process them
        if (typeof(template.children)!=='undefined' && template.children != null) {
            for (var i = 0; i < template.children.length; i++) {
                var subtemplate = template.children[i];
                $common.createElementFromTemplate(subtemplate, elt, nameTable);
            }
        }
        
        // if we have a content presenter for the element get it (the element itself is the default presenter for content)
        var contentPresenter = elt;
        if (typeof(template.contentPresenter)!=='undefined' && template.contentPresenter != null) {
            contentPresenter = nameTable[contentPresenter];
        }
        
        // if we have content, add it
        if (typeof(template.content)!=='undefined' && template.content != null) {
            var content = template.content;
            if (String.isInstanceOfType(content)) {
                content = nameTable[content];
            }
            if (content.parentNode) {
                $common.wrapElement(content, elt, contentPresenter);
            } else {
                contentPresenter.appendChild(content);
            }
        }
        
        // return the created element
        return elt;
    },
    
    prepareHiddenElementForATDeviceUpdate : function () {
        /// <summary>
        /// JAWS, an Assistive Technology device responds to updates to form elements 
        /// and refreshes its document buffer to what is showing live
        /// in the browser. To ensure that Toolkit controls that make XmlHttpRequests to
        /// retrieve content are useful to users with visual disabilities, we update a
        /// hidden form element to ensure that JAWS conveys what is in
        /// the browser. See this article for more details: 
        /// http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php
        /// This method creates a hidden input on the screen for any page that uses a Toolkit
        /// control that will perform an XmlHttpRequest.
        /// </summary>   
        var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts');
        if (!objHidden) {
            var objHidden = document.createElement('input');
            objHidden.setAttribute('type', 'hidden');
            objHidden.setAttribute('value', '1');
            objHidden.setAttribute('id', 'hiddenInputToUpdateATBuffer_CommonToolkitScripts');
            objHidden.setAttribute('name', 'hiddenInputToUpdateATBuffer_CommonToolkitScripts');
            if ( document.forms[0] ) {
                document.forms[0].appendChild(objHidden);
            }
        }
    },
    
    updateFormToRefreshATDeviceBuffer : function () {
        /// <summary>
        /// Updates the hidden buffer to ensure that the latest document stream is picked up
        /// by the screen reader.
        /// </summary>
        var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts');

        if (objHidden) {
            if (objHidden.getAttribute('value') == '1') {
                objHidden.setAttribute('value', '0');
            } else {
                objHidden.setAttribute('value', '1');
            }
        }
    }
}

// Create the singleton instance of the CommonToolkitScripts
var CommonToolkitScripts = AjaxControlToolkit.CommonToolkitScripts = new AjaxControlToolkit._CommonToolkitScripts();
var $common = CommonToolkitScripts;

// Alias functions that were moved from BlockingScripts into Common
Sys.UI.DomElement.getVisible = $common.getVisible;
Sys.UI.DomElement.setVisible = $common.setVisible;
Sys.UI.Control.overlaps = $common.overlaps;

AjaxControlToolkit._DomUtility = function() {
    /// <summary>
    /// Utility functions for manipulating the DOM
    /// </summary>
}
AjaxControlToolkit._DomUtility.prototype = {
    isDescendant : function(ancestor, descendant) {
        /// <summary>
        /// Whether the specified element is a descendant of the ancestor
        /// </summary>
        /// <param name="ancestor" type="Sys.UI.DomElement">Ancestor node</param>
        /// <param name="descendant" type="Sys.UI.DomElement">Possible descendant node</param>
        /// <returns type="Boolean" />
        
        for (var n = descendant.parentNode; n != null; n = n.parentNode) {
            if (n == ancestor) return true;
        }
        return false;
    },
    isDescendantOrSelf : function(ancestor, descendant) {
        /// <summary>
        /// Whether the specified element is a descendant of the ancestor or the same as the ancestor
        /// </summary>
        /// <param name="ancestor" type="Sys.UI.DomElement">Ancestor node</param>
        /// <param name="descendant" type="Sys.UI.DomElement">Possible descendant node</param>
        /// <returns type="Boolean" />

        if (ancestor === descendant) 
            return true;
        return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);
    },
    isAncestor : function(descendant, ancestor) {
        /// <summary>
        /// Whether the specified element is an ancestor of the descendant
        /// </summary>
        /// <param name="descendant" type="Sys.UI.DomElement">Descendant node</param>
        /// <param name="ancestor" type="Sys.UI.DomElement">Possible ancestor node</param>
        /// <returns type="Boolean" />

        return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);
    },
    isAncestorOrSelf : function(descendant, ancestor) {
        /// <summary>
        /// Whether the specified element is an ancestor of the descendant or the same as the descendant
        /// </summary>
        /// <param name="descendant" type="Sys.UI.DomElement">Descendant node</param>
        /// <param name="ancestor" type="Sys.UI.DomElement">Possible ancestor node</param>
        /// <returns type="Boolean" />
        
        if (descendant === ancestor)
            return true;
            
        return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);
    },
    isSibling : function(self, sibling) {
        /// <summary>
        /// Whether the specified element is a sibling of the self element
        /// </summary>
        /// <param name="self" type="Sys.UI.DomElement">Self node</param>
        /// <param name="sibling" type="Sys.UI.DomElement">Possible sibling node</param>
        /// <returns type="Boolean" />
        
        var parent = self.parentNode;
        for (var i = 0; i < parent.childNodes.length; i++) {
            if (parent.childNodes[i] == sibling) return true;
        }
        return false;
    }
}
AjaxControlToolkit._DomUtility.registerClass("AjaxControlToolkit._DomUtility");
AjaxControlToolkit.DomUtility = new AjaxControlToolkit._DomUtility();


AjaxControlToolkit.TextBoxWrapper = function(element) {
    /// <summary>
    /// Class that wraps a TextBox (INPUT type="text") to abstract-out the
    /// presence of a watermark (which may be visible to the user but which
    /// should never be read by script.
    /// </summary>
    /// <param name="element" type="Sys.UI.DomElement" domElement="true">
    /// The DOM element the behavior is associated with
    /// </param>
    AjaxControlToolkit.TextBoxWrapper.initializeBase(this, [element]);
    this._current = element.value;
    this._watermark = null;
    this._isWatermarked = false;
}

AjaxControlToolkit.TextBoxWrapper.prototype = {

    dispose : function() {
        /// <summary>
        /// Dispose the behavior
        /// </summary>
        this.get_element().AjaxControlToolkitTextBoxWrapper = null;
        AjaxControlToolkit.TextBoxWrapper.callBaseMethod(this, 'dispose');
    },

    get_Current : function() {
        /// <value type="String">
        /// Current value actually in the TextBox (i.e., TextBox.value)
        /// </value>
        this._current = this.get_element().value;
        return this._current;
    },
    set_Current : function(value) {
        this._current = value;
        this._updateElement();
    },

    get_Value : function() {
        /// <value type="String">
        /// Conceptual "value" of the TextBox - its contents if no watermark is present
        /// or "" if one is
        /// </value>
        if (this.get_IsWatermarked()) {
            return "";
        } else {
            return this.get_Current();
        }
    },
    set_Value : function(text) {
        this.set_Current(text);
        if (!text || (0 == text.length)) {
            if (null != this._watermark) {
                this.set_IsWatermarked(true);
            }
        } else {
            this.set_IsWatermarked(false);
        }
    },

    get_Watermark : function() {
        /// <value type="String">
        /// Text of the watermark for the TextBox
        /// </value>
        return this._watermark;
    },
    set_Watermark : function(value) {
        this._watermark = value;
        this._updateElement();
    },

    get_IsWatermarked : function() {
        /// <value type="Boolean">
        /// true iff the TextBox is watermarked
        /// </value>
        return this._isWatermarked;
    },
    set_IsWatermarked : function(isWatermarked) {
        if (this._isWatermarked != isWatermarked) {
            this._isWatermarked = isWatermarked;
            this._updateElement();
            this._raiseWatermarkChanged();
        }
    },

    _updateElement : function() {
        /// <summary>
        /// Updates the actual contents of the TextBox according to what should be there
        /// </summary>
        var element = this.get_element();
        if (this._isWatermarked) {
            if (element.value != this._watermark) {
                element.value = this._watermark;
            }
        } else {
            if (element.value != this._current) {
                element.value = this._current;
            }
        }
    },

    add_WatermarkChanged : function(handler) {
        /// <summary>
        /// Adds a handler for the WatermarkChanged event
        /// </summary>
        /// <param name="handler" type="Function">
        /// Handler
        /// </param>
        this.get_events().addHandler("WatermarkChanged", handler);
    },
    remove_WatermarkChanged : function(handler) {
        /// <summary>
        /// Removes a handler for the WatermarkChanged event
        /// </summary>
        /// <param name="handler" type="Function">
        /// Handler
        /// </param>
        this.get_events().removeHandler("WatermarkChanged", handler);
    },
    _raiseWatermarkChanged : function() {
        /// <summary>
        /// Raises the WatermarkChanged event
        /// </summary>
        var onWatermarkChangedHandler = this.get_events().getHandler("WatermarkChanged");
        if (onWatermarkChangedHandler) {
            onWatermarkChangedHandler(this, Sys.EventArgs.Empty);
        }
    }
}
AjaxControlToolkit.TextBoxWrapper.get_Wrapper = function(element) {
    /// <summary>
    /// Gets (creating one if necessary) the TextBoxWrapper for the specified TextBox
    /// </summary>
    /// <param name="element" type="Sys.UI.DomElement" domElement="true">
    /// TextBox for which to get the wrapper
    /// </param>
    /// <returns type="AjaxControlToolkit.TextBoxWrapper">
    /// TextBoxWrapper instance
    /// </returns>
    if (null == element.AjaxControlToolkitTextBoxWrapper) {
        element.AjaxControlToolkitTextBoxWrapper = new AjaxControlToolkit.TextBoxWrapper(element);
    }
    return element.AjaxControlToolkitTextBoxWrapper;
}
AjaxControlToolkit.TextBoxWrapper.registerClass('AjaxControlToolkit.TextBoxWrapper', Sys.UI.Behavior);

AjaxControlToolkit.TextBoxWrapper.validatorGetValue = function(id) {
    /// <summary>
    /// Wrapper for ASP.NET's validatorGetValue to return the value from the wrapper if present
    /// </summary>
    /// <param name="id" type="String">
    /// id of the element
    /// </param>
    /// <returns type="Object">
    /// Value from the wrapper or result of original ValidatorGetValue
    /// </returns>
    var control = $get(id);
    if (control && control.AjaxControlToolkitTextBoxWrapper) {
        return control.AjaxControlToolkitTextBoxWrapper.get_Value();
    }
    return AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue(id);
}

// Wrap ASP.NET's ValidatorGetValue with AjaxControlToolkit.TextBoxWrapper.validatorGetValue
// to make validators work properly with watermarked TextBoxes
if (typeof(ValidatorGetValue) == 'function') {
    AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue = ValidatorGetValue;
    ValidatorGetValue = AjaxControlToolkit.TextBoxWrapper.validatorGetValue;
}


// Temporary fix null reference bug in Sys.CultureInfo._getAbbrMonthIndex
if (Sys.CultureInfo.prototype._getAbbrMonthIndex) {
    try {
        Sys.CultureInfo.prototype._getAbbrMonthIndex('');
    } catch(ex) {
        Sys.CultureInfo.prototype._getAbbrMonthIndex = function(value) {
            if (!this._upperAbbrMonths) {
                this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
            }
            return Array.indexOf(this._upperAbbrMonths, this._toUpper(value));
        }
        Sys.CultureInfo.CurrentCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;
        Sys.CultureInfo.InvariantCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;
    }
}

/* END AjaxControlToolkit.Common.Common.js */
/* START AjaxControlToolkit.ExtenderBase.BaseScripts.js */
// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Permissive License.
// See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx.
// All other rights reserved.


/// <reference name="MicrosoftAjax.debug.js" />
/// <reference name="MicrosoftAjaxTimer.debug.js" />
/// <reference name="MicrosoftAjaxWebForms.debug.js" />


Type.registerNamespace('AjaxControlToolkit');

// This is the base behavior for all extender behaviors
AjaxControlToolkit.BehaviorBase = function(element) {
    /// <summary>
    /// Base behavior for all extender behaviors
    /// </summary>
    /// <param name="element" type="Sys.UI.DomElement" domElement="true">
    /// Element the behavior is associated with
    /// </param>
    AjaxControlToolkit.BehaviorBase.initializeBase(this,[element]);
    
    this._clientStateFieldID = null;
    this._pageRequestManager = null;
    this._partialUpdateBeginRequestHandler = null;
    this._partialUpdateEndRequestHandler = null;
}
AjaxControlToolkit.BehaviorBase.prototype = {
    initialize : function() {
        /// <summary>
        /// Initialize the behavior
        /// </summary>

        // TODO: Evaluate necessity
        AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'initialize');
    },

    dispose : function() {
        /// <summary>
        /// Dispose the behavior
        /// </summary>
        AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'dispose');

        if (this._pageRequestManager) {
            if (this._partialUpdateBeginRequestHandler) {
                this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequestHandler);
                this._partialUpdateBeginRequestHandler = null;
            }
            if (this._partialUpdateEndRequestHandler) {
                this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestHandler);
                this._partialUpdateEndRequestHandler = null;
            }
            this._pageRequestManager = null;
        }
    },

    get_ClientStateFieldID : function() {
        /// <value type="String">
        /// ID of the hidden field used to store client state
        /// </value>
        return this._clientStateFieldID;
    },
    set_ClientStateFieldID : function(value) {
        if (this._clientStateFieldID != value) {
            this._clientStateFieldID = value;
            this.raisePropertyChanged('ClientStateFieldID');
        }
    },

    get_ClientState : function() {
        /// <value type="String">
        /// Client state
        /// </value>
        if (this._clientStateFieldID) {
            var input = document.getElementById(this._clientStateFieldID);
            if (input) {
                return input.value;
            }
        }
        return null;
    },
    set_ClientState : function(value) {
        if (this._clientStateFieldID) {
            var input = document.getElementById(this._clientStateFieldID);
            if (input) {
                input.value = value;
            }
        }
    },

    registerPartialUpdateEvents : function() {
        /// <summary>
        /// Register for beginRequest and endRequest events on the PageRequestManager,
        /// (which cause _partialUpdateBeginRequest and _partialUpdateEndRequest to be
        /// called when an UpdatePanel refreshes)
        /// </summary>

        if (Sys && Sys.WebForms && Sys.WebForms.PageRequestManager){
            this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
            if (this._pageRequestManager) {
                this._partialUpdateBeginRequestHandler = Function.createDelegate(this, this._partialUpdateBeginRequest);
                this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequestHandler);
                this._partialUpdateEndRequestHandler = Function.createDelegate(this, this._partialUpdateEndRequest);
                this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHandler);
            }
        }
    },

    _partialUpdateBeginRequest : function(sender, beginRequestEventArgs) {
        /// <summary>
        /// Method that will be called when a partial update (via an UpdatePanel) begins,
        /// if registerPartialUpdateEvents() has been called.
        /// </summary>
        /// <param name="sender" type="Object">
        /// Sender
        /// </param>
        /// <param name="beginRequestEventArgs" type="Sys.WebForms.BeginRequestEventArgs">
        /// Event arguments
        /// </param>

        // Nothing done here; override this method in a child class
    },
    
    _partialUpdateEndRequest : function(sender, endRequestEventArgs) {
        /// <summary>
        /// Method that will be called when a partial update (via an UpdatePanel) finishes,
        /// if registerPartialUpdateEvents() has been called.
        /// </summary>
        /// <param name="sender" type="Object">
        /// Sender
        /// </param>
        /// <param name="endRequestEventArgs" type="Sys.WebForms.EndRequestEventArgs">
        /// Event arguments
        /// </param>

        // Nothing done here; override this method in a child class
    }
}
AjaxControlToolkit.BehaviorBase.registerClass('AjaxControlToolkit.BehaviorBase', Sys.UI.Behavior);


// Dynamically populates content when the populate method is called
AjaxControlToolkit.DynamicPopulateBehaviorBase = function(element) {
    /// <summary>
    /// DynamicPopulateBehaviorBase is used to add DynamicPopulateBehavior funcitonality
    /// to other extenders.  It will dynamically populate the contents of the target element
    /// when its populate method is called.
    /// </summary>
    /// <param name="element" type="Sys.UI.DomElement" domElement="true">
    /// DOM Element the behavior is associated with
    /// </param>
    AjaxControlToolkit.DynamicPopulateBehaviorBase.initializeBase(this, [element]);
    
    this._DynamicControlID = null;
    this._DynamicContextKey = null;
    this._DynamicServicePath = null;
    this._DynamicServiceMethod = null;
    this._cacheDynamicResults = false;
    this._dynamicPopulateBehavior = null;
    this._populatingHandler = null;
    this._populatedHandler = null;
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.prototype = {
    initialize : function() {
        /// <summary>
        /// Initialize the behavior
        /// </summary>

        AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, 'initialize');

        // Create event handlers
        this._populatingHandler = Function.createDelegate(this, this._onPopulating);
        this._populatedHandler = Function.createDelegate(this, this._onPopulated);
    },

    dispose : function() {
        /// <summary>
        /// Dispose the behavior
        /// </summary>

        // Dispose of event handlers
        if (this._populatedHandler) {
            if (this._dynamicPopulateBehavior) {
                this._dynamicPopulateBehavior.remove_populated(this._populatedHandler);
            }
            this._populatedHandler = null;
        }
        if (this._populatingHandler) {
            if (this._dynamicPopulateBehavior) {
                this._dynamicPopulateBehavior.remove_populating(this._populatingHandler);
            }
            this._populatingHandler = null;
        }

        // Dispose of the placeholder control and behavior
        if (this._dynamicPopulateBehavior) {
            this._dynamicPopulateBehavior.dispose();
            this._dynamicPopulateBehavior = null;
        }
        AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, 'dispose');
    },

    populate : function(contextKeyOverride) {
        /// <summary>
        /// Demand-create the DynamicPopulateBehavior and use it to populate the target element
        /// </summary>
        /// <param name="contextKeyOverride" type="String" mayBeNull="true" optional="true">
        /// An arbitrary string value to be passed to the web method. For example, if the element to be populated is within a data-bound repeater, this could be the ID of the current row.
        /// </param>

        // If the DynamicPopulateBehavior's element is out of date, dispose of it
        if (this._dynamicPopulateBehavior && (this._dynamicPopulateBehavior.get_element() != $get(this._DynamicControlID))) {
            this._dynamicPopulateBehavior.dispose();
            this._dynamicPopulateBehavior = null;
        }
        
        // If a DynamicPopulateBehavior is not available and the necessary information is, create one
        if (!this._dynamicPopulateBehavior && this._DynamicControlID && this._DynamicServiceMethod) {
            this._dynamicPopulateBehavior = $create(AjaxControlToolkit.DynamicPopulateBehavior,
                {
                    "id" : this.get_id() + "_DynamicPopulateBehavior",
                    "ContextKey" : this._DynamicContextKey,
                    "ServicePath" : this._DynamicServicePath,
                    "ServiceMethod" : this._DynamicServiceMethod,
                    "cacheDynamicResults" : this._cacheDynamicResults
                }, null, null, $get(this._DynamicControlID));

            // Attach event handlers
            this._dynamicPopulateBehavior.add_populating(this._populatingHandler);
            this._dynamicPopulateBehavior.add_populated(this._populatedHandler);
        }
        
        // If a DynamicPopulateBehavior is available, use it to populate the dynamic content
        if (this._dynamicPopulateBehavior) {
            this._dynamicPopulateBehavior.populate(contextKeyOverride ? contextKeyOverride : this._DynamicContextKey);
        }
    },

    _onPopulating : function(sender, eventArgs) {
        /// <summary>
        /// Handler for DynamicPopulate behavior's Populating event
        /// </summary>
        /// <param name="sender" type="Object">
        /// DynamicPopulate behavior
        /// </param>
        /// <param name="eventArgs" type="Sys.CancelEventArgs" mayBeNull="false">
        /// Event args
        /// </param>
        this.raisePopulating(eventArgs);
    },

    _onPopulated : function(sender, eventArgs) {
        /// <summary>
        /// Handler for DynamicPopulate behavior's Populated event
        /// </summary>
        /// <param name="sender" type="Object">
        /// DynamicPopulate behavior
        /// </param>
        /// <param name="eventArgs" type="Sys.EventArgs" mayBeNull="false">
        /// Event args
        /// </param>
        this.raisePopulated(eventArgs);
    },

    get_dynamicControlID : function() {
        /// <value type="String">
        /// ID of the element to populate with dynamic content
        /// </value>
        return this._DynamicControlID;
    },
    get_DynamicControlID : this.get_dynamicControlID,
    set_dynamicControlID : function(value) {
        if (this._DynamicControlID != value) {
            this._DynamicControlID = value;
            this.raisePropertyChanged('dynamicControlID');
            this.raisePropertyChanged('DynamicControlID');
        }
    },
    set_DynamicControlID : this.set_dynamicControlID,

    get_dynamicContextKey : function() {
        /// <value type="String">
        /// An arbitrary string value to be passed to the web method.
        /// For example, if the element to be populated is within a
        /// data-bound repeater, this could be the ID of the current row.
        /// </value>
        return this._DynamicContextKey;
    },
    get_DynamicContextKey : this.get_dynamicContextKey,
    set_dynamicContextKey : function(value) {
        if (this._DynamicContextKey != value) {
            this._DynamicContextKey = value;
            this.raisePropertyChanged('dynamicContextKey');
            this.raisePropertyChanged('DynamicContextKey');
        }
    },
    set_DynamicContextKey : this.set_dynamicContextKey,

    get_dynamicServicePath : function() {
        /// <value type="String" mayBeNull="true" optional="true">
        /// The URL of the web service to call.  If the ServicePath is not defined, then we will invoke a PageMethod instead of a web service.
        /// </value>
        return this._DynamicServicePath;
    },
    get_DynamicServicePath : this.get_dynamicServicePath,
    set_dynamicServicePath : function(value) {
        if (this._DynamicServicePath != value) {
            this._DynamicServicePath = value;
            this.raisePropertyChanged('dynamicServicePath');
            this.raisePropertyChanged('DynamicServicePath');
        }
    },
    set_DynamicServicePath : this.set_dynamicServicePath,

    get_dynamicServiceMethod : function() {
        /// <value type="String">
        /// The name of the method to call on the page or web service
        /// </value>
        /// <remarks>
        /// The signature of the method must exactly match the following:
        ///     [WebMethod]
        ///     string DynamicPopulateMethod(string contextKey)
        ///     {
        ///         ...
        ///     }
        /// </remarks>
        return this._DynamicServiceMethod;
    },
    get_DynamicServiceMethod : this.get_dynamicServiceMethod,
    set_dynamicServiceMethod : function(value) {
        if (this._DynamicServiceMethod != value) {
            this._DynamicServiceMethod = value;
            this.raisePropertyChanged('dynamicServiceMethod');
            this.raisePropertyChanged('DynamicServiceMethod');
        }
    },
    set_DynamicServiceMethod : this.set_dynamicServiceMethod,
    
    get_cacheDynamicResults : function() {
        /// <value type="Boolean" mayBeNull="false">
        /// Whether the results of the dynamic population should be cached and
        /// not fetched again after the first load
        /// </value>
        return this._cacheDynamicResults;
    },
    set_cacheDynamicResults : function(value) {
        if (this._cacheDynamicResults != value) {
            this._cacheDynamicResults = value;
            this.raisePropertyChanged('cacheDynamicResults');
        }
    },
    
    add_populated : function(handler) {
        /// <summary>
        /// Add a handler on the populated event
        /// </summary>
        /// <param name="handler" type="Function">
        /// Handler
        /// </param>
        this.get_events().addHandler("populated", handler);
    },
    remove_populated : function(handler) {
        /// <summary>
        /// Remove a handler from the populated event
        /// </summary>
        /// <param name="handler" type="Function">
        /// Handler
        /// </param>
        this.get_events().removeHandler("populated", handler);
    },
    raisePopulated : function(arg) {
        /// <summary>
        /// Raise the populated event
        /// </summary>
        /// <param name="arg" type="Sys.EventArgs">
        /// Event arguments
        /// </param>
        var handler = this.get_events().getHandler("populated");  
        if (handler) handler(this, arg);
    },
    
    add_populating : function(handler) {
        /// <summary>
        /// Add an event handler for the populating event
        /// </summary>
        /// <param name="handler" type="Function" mayBeNull="false">
        /// Event handler
        /// </param>
        /// <returns />
        this.get_events().addHandler('populating', handler);
    },
    remove_populating : function(handler) {
        /// <summary>
        /// Remove an event handler from the populating event
        /// </summary>
        /// <param name="handler" type="Function" mayBeNull="false">
        /// Event handler
        /// </param>
        /// <returns />
        this.get_events().removeHandler('populating', handler);
    },
    raisePopulating : function(eventArgs) {
        /// <summary>
        /// Raise the populating event
        /// </summary>
        /// <param name="eventArgs" type="Sys.CancelEventArgs" mayBeNull="false">
        /// Event arguments for the populating event
        /// </param>
        /// <returns />
        
        var handler = this.get_events().getHandler('populating');
        if (handler) {
            handler(this, eventArgs);
        }
    }
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControlToolkit.DynamicPopulateBehaviorBase', AjaxControlToolkit.BehaviorBase);


AjaxControlToolkit.ControlBase = function(element) {
    AjaxControlToolkit.ControlBase.initializeBase(this, [element]);
    this._clientStateField = null;
    this._callbackTarget = null;
    this._onsubmit$delegate = Function.createDelegate(this, this._onsubmit);
    this._oncomplete$delegate = Function.createDelegate(this, this._oncomplete);
    this._onerror$delegate = Function.createDelegate(this, this._onerror);
}
AjaxControlToolkit.ControlBase.prototype = {
    initialize : function() {
        AjaxControlToolkit.ControlBase.callBaseMethod(this, "initialize");
        // load the client state if possible
        if (this._clientStateField) {
            this.loadClientState(this._clientStateField.value);
        }
        // attach an event to save the client state before a postback or updatepanel partial postback
        if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined") {
            Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);
        } else {
            $addHandler(document.forms[0], "submit", this._onsubmit$delegate);
        }
    },
    dispose : function() {
        if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined") {
            Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);
        } else {
            $removeHandler(document.forms[0], "submit", this._onsubmit$delegate);
        }
        AjaxControlToolkit.ControlBase.callBaseMethod(this, "dispose");
    },
    findElement : function(id) {
        // <summary>Finds an element within this control (ScriptControl/ScriptUserControl are NamingContainers);
        return $get(this.get_id() + '_' + id.split(':').join('_'));
    },
    get_clientStateField : function() {
        return this._clientStateField;
    },
    set_clientStateField : function(value) {
        if (this.get_isInitialized()) throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSetClientStateField);
        if (this._clientStateField != value) {
            this._clientStateField = value;
            this.raisePropertyChanged('clientStateField');
        }
    },
    loadClientState : function(value) {
        /// <remarks>override this method to intercept client state loading after a callback</remarks>
    },
    saveClientState : function() {
        /// <remarks>override this method to intercept client state acquisition before a callback</remarks>
        return null;
    },
    _invoke : function(name, args, cb) {
        /// <summary>invokes a callback method on the server control</summary>        
        if (!this._callbackTarget) {
            throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlNotRegisteredForCallbacks);
        }
        if (typeof(WebForm_DoCallback)==="undefined") {
            throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotRegisteredForCallbacks);
        }
        var ar = [];
        for (var i = 0; i < args.length; i++) 
            ar[i] = args[i];
        var clientState = this.saveClientState();
        if (clientState != null && !String.isInstanceOfType(clientState)) {
            throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidClientStateType);
        }
        var payload = Sys.Serialization.JavaScriptSerializer.serialize({name:name,args:ar,state:this.saveClientState()});
        WebForm_DoCallback(this._callbackTarget, payload, this._oncomplete$delegate, cb, this._onerror$delegate, true);
    },
    _oncomplete : function(result, context) {
        result = Sys.Serialization.JavaScriptSerializer.deserialize(result);
        if (result.error) {
            throw Error.create(result.error);
        }
        this.loadClientState(result.state);
        context(result.result);
    },
    _onerror : function(message, context) {
        throw Error.create(message);
    },
    _onsubmit : function() {
        if (this._clientStateField) {
            this._clientStateField.value = this.saveClientState();
        }
        return true;
    }    
   
}
AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlBase", Sys.UI.Control);

AjaxControlToolkit.Resources={
"PasswordStrength_InvalidWeightingRatios":"Strength Weighting ratios must have 4 elements","Animation_ChildrenNotAllowed":"AjaxControlToolkit.Animation.createAnimation cannot add child animations to type \"{0}\" that does not derive from AjaxControlToolkit.Animation.ParentAnimation","PasswordStrength_RemainingSymbols":"{0} symbol characters","ExtenderBase_CannotSetClientStateField":"clientStateField can only be set before initialization","RTE_PreviewHTML":"Preview HTML","RTE_JustifyCenter":"Justify Center","PasswordStrength_RemainingUpperCase":"{0} more upper case characters","Animation_TargetNotFound":"AjaxControlToolkit.Animation.Animation.set_animationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control.  No element or control could be found corresponding to \"{0}\"","RTE_FontColor":"Font Color","RTE_LabelColor":"Label Color","Common_InvalidBorderWidthUnit":"A unit type of \"{0}\"\u0027 is invalid for parseBorderWidth","RTE_Heading":"Heading","Tabs_PropertySetBeforeInitialization":"{0} cannot be changed before initialization","RTE_OrderedList":"Ordered List","ReorderList_DropWatcherBehavior_NoChild":"Could not find child of list with id \"{0}\"","CascadingDropDown_MethodTimeout":"[Method timeout]","RTE_Columns":"Columns","RTE_InsertImage":"Insert Image","RTE_InsertTable":"Insert Table","RTE_Values":"Values","RTE_OK":"OK","ExtenderBase_PageNotRegisteredForCallbacks":"This Page has not been registered for callbacks","Animation_NoDynamicPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\" or \"{1}\"","Animation_InvalidBaseType":"AjaxControlToolkit.Animation.registerAnimation can only register types that inherit from AjaxControlToolkit.Animation.Animation","RTE_UnorderedList":"Unordered List","ResizableControlBehavior_InvalidHandler":"{0} handler not a function, function name, or function text","Animation_InvalidColor":"Color must be a 7-character hex representation (e.g. #246ACF), not \"{0}\"","RTE_CellColor":"Cell Color","PasswordStrength_RemainingMixedCase":"Mixed case characters","RTE_Italic":"Italic","CascadingDropDown_NoParentElement":"Failed to find parent element \"{0}\"","ValidatorCallout_DefaultErrorMessage":"This control is invalid","RTE_Indent":"Indent","ReorderList_DropWatcherBehavior_CallbackError":"Reorder failed, see details below.\\r\\n\\r\\n{0}","PopupControl_NoDefaultProperty":"No default property supported for control \"{0}\" of type \"{1}\"","RTE_Normal":"Normal","PopupExtender_NoParentElement":"Couldn\u0027t find parent element \"{0}\"","RTE_ViewValues":"View Values","RTE_Legend":"Legend","RTE_Labels":"Labels","RTE_CellSpacing":"Cell Spacing","PasswordStrength_RemainingNumbers":"{0} more numbers","RTE_Border":"Border","RTE_Create":"Create","RTE_BackgroundColor":"Background Color","RTE_Cancel":"Cancel","RTE_JustifyFull":"Justify Full","RTE_JustifyLeft":"Justify Left","RTE_Cut":"Cut","ResizableControlBehavior_CannotChangeProperty":"Changes to {0} not supported","RTE_ViewSource":"View Source","Common_InvalidPaddingUnit":"A unit type of \"{0}\" is invalid for parsePadding","RTE_Paste":"Paste","ExtenderBase_ControlNotRegisteredForCallbacks":"This Control has not been registered for callbacks","Calendar_Today":"Today: {0}","Common_DateTime_InvalidFormat":"Invalid format","ListSearch_DefaultPrompt":"Type to search","CollapsiblePanel_NoControlID":"Failed to find element \"{0}\"","RTE_ViewEditor":"View Editor","RTE_BarColor":"Bar Color","PasswordStrength_DefaultStrengthDescriptions":"NonExistent;Very Weak;Weak;Poor;Almost OK;Barely Acceptable;Average;Good;Strong;Excellent;Unbreakable!","RTE_Inserttexthere":"Insert text here","Animation_UknownAnimationName":"AjaxControlToolkit.Animation.createAnimation could not find an Animation corresponding to the name \"{0}\"","ExtenderBase_InvalidClientStateType":"saveClientState must return a value of type String","Rating_CallbackError":"An unhandled exception has occurred:\\r\\n{0}","Tabs_OwnerExpected":"owner must be set before initialize","DynamicPopulate_WebServiceTimeout":"Web service call timed out","PasswordStrength_RemainingLowerCase":"{0} more lower case characters","Animation_MissingAnimationName":"AjaxControlToolkit.Animation.createAnimation requires an object with an AnimationName property","RTE_JustifyRight":"Justify Right","Tabs_ActiveTabArgumentOutOfRange":"Argument is not a member of the tabs collection","RTE_CellPadding":"Cell Padding","RTE_ClearFormatting":"Clear Formatting","AlwaysVisible_ElementRequired":"AjaxControlToolkit.AlwaysVisibleControlBehavior must have an element","Slider_NoSizeProvided":"Please set valid values for the height and width attributes in the slider\u0027s CSS classes","DynamicPopulate_WebServiceError":"Web Service call failed: {0}","PasswordStrength_StrengthPrompt":"Strength: ","PasswordStrength_RemainingCharacters":"{0} more characters","PasswordStrength_Satisfied":"Nothing more required","RTE_Hyperlink":"Hyperlink","Animation_NoPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\"","PasswordStrength_InvalidStrengthDescriptionStyles":"Text Strength description style classes must match the number of text descriptions.","PasswordStrength_GetHelpRequirements":"Get help on password requirements","PasswordStrength_InvalidStrengthDescriptions":"Invalid number of text strength descriptions specified","RTE_Underline":"Underline","Tabs_PropertySetAfterInitialization":"{0} cannot be changed after initialization","RTE_Rows":"Rows","RTE_Redo":"Redo","RTE_Size":"Size","RTE_Undo":"Undo","RTE_Bold":"Bold","RTE_Copy":"Copy","RTE_Font":"Font","CascadingDropDown_MethodError":"[Method error {0}]","RTE_BorderColor":"Border Color","RTE_Paragraph":"Paragraph","RTE_InsertHorizontalRule":"Insert Horizontal Rule","Common_UnitHasNoDigits":"No digits","RTE_Outdent":"Outdent","Common_DateTime_InvalidTimeSpan":"\"{0}\" is not a valid TimeSpan format","Animation_CannotNestSequence":"AjaxControlToolkit.Animation.SequenceAnimation cannot be nested inside AjaxControlToolkit.Animation.ParallelAnimation","Shared_BrowserSecurityPreventsPaste":"Your browser security settings don\u0027t permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead."};
/* END AjaxControlToolkit.ExtenderBase.BaseScripts.js */
/* START AjaxControlToolkit.TextboxWatermark.TextboxWatermark.js */
// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Permissive License.
// See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx.
// All other rights reserved.


/// <reference name="MicrosoftAjax.debug.js" />
/// <reference name="MicrosoftAjaxTimer.debug.js" />
/// <reference name="MicrosoftAjaxWebForms.debug.js" />
/// <reference path="../ExtenderBase/BaseScripts.js" />
/// <reference path="../Common/Common.js" />


Type.registerNamespace('AjaxControlToolkit');

AjaxControlToolkit.TextBoxWatermarkBehavior = function(element) {
    /// <summary>
    /// The TextBoxWatermarkBehavior applies a watermark to a textbox
    /// </summary>
    /// <param name="element" type="Sys.UI.DomElement" domElement="true">
    /// Textbox associated with the behavior
    /// </param>
    AjaxControlToolkit.TextBoxWatermarkBehavior.initializeBase(this, [element]);
    
    // Properties
    this._watermarkText = null;
    this._watermarkCssClass = null;

    // Member variables
    this._focusHandler = null;
    this._blurHandler = null;
    this._keyPressHandler = null;
    this._propertyChangedHandler = null;
    this._watermarkChangedHandler = null;
    this._oldClassName = null;
    this._clearedForSubmit = null;
    this._maxLength = null;

    // Hook into the ASP.NET WebForm_OnSubmit function to clear watermarks prior to submission
    if ((typeof(WebForm_OnSubmit) == 'function') && !AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit) {
        AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit = WebForm_OnSubmit;
        WebForm_OnSubmit = AjaxControlToolkit.TextBoxWatermarkBehavior.WebForm_OnSubmit;
    }
}
AjaxControlToolkit.TextBoxWatermarkBehavior.prototype = {
    initialize : function() {
        /// <summary>
        /// Initialize the behavior
        /// </summary>
        AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'initialize');

        var e = this.get_element();

        // Determine if this textbox is focused initially
        var hasInitialFocus = false;
        
        var clientState = AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'get_ClientState');
        if (clientState != null && clientState != "") {
            hasInitialFocus = (clientState == "Focused");
            AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'set_ClientState', null);
        }

        // Capture the initial style so we can toggle back and forth
        // between this and the watermarked style
        this._oldClassName = e.className;

        // Create delegates
        this._focusHandler = Function.createDelegate(this, this._onFocus);
        this._blurHandler = Function.createDelegate(this, this._onBlur);
        this._keyPressHandler = Function.createDelegate(this, this._onKeyPress);

        // Attach events
        $addHandler(e, 'focus', this._focusHandler);
        $addHandler(e, 'blur', this._blurHandler);
        $addHandler(e, 'keypress', this._keyPressHandler);

        this.registerPropertyChanged();

        // Initialize state and simulate a blur to apply the watermark if appropriate
        // Note: The comparison against _watermarkText is undesirable, but seemingly
        // necessary to support the load->Home->Back scenario in IE
        var currentValue = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Current();
        var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());
        if (("" == currentValue) || (this._watermarkText == currentValue)) {
            wrapper.set_Watermark(this._watermarkText)
            wrapper.set_IsWatermarked(true);
        }
        if (hasInitialFocus) {
            this._onFocus();
        } else {
            e.blur();
            this._onBlur();
        }

        this._clearedForSubmit = false;

        this.registerPartialUpdateEvents();

        this._watermarkChangedHandler = Function.createDelegate(this, this._onWatermarkChanged);
        wrapper.add_WatermarkChanged(this._watermarkChangedHandler);
    },

    dispose : function() {
        /// <summary>
        /// Dispose the behavior
        /// </summary>
        var e = this.get_element();

        if (this._watermarkChangedHandler) {
            AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).remove_WatermarkChanged(this._watermarkChangedHandler);
            this._watermarkChangedHandler = null;
        }

        // Unhook from Sys.Preview.UI.TextBox if present
        if(e.control && this._propertyChangedHandler) {
            e.control.remove_propertyChanged(this._propertyChangedHandler);
            this._propertyChangedHandler = null;
        }

        // Detach events
        if (this._focusHandler) {
            $removeHandler(e, 'focus', this._focusHandler);
            this._focusHandler = null;
        }
        if (this._blurHandler) {
            $removeHandler(e, 'blur', this._blurHandler);
            this._blurHandler = null;
        }
        if (this._keyPressHandler) {
            $removeHandler(e, 'keypress', this._keyPressHandler);
            this._keyPressHandler = null;
        }

        // Clear watermark text to avoid confusion during Refresh/Back/Forward
        if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
            this.clearText(false);
        }

        AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'dispose');
    },

    _onWatermarkChanged : function(sender, eventArgs) {
        /// <summary>
        /// Handler invoked when the watermark changes
        /// </summary>
        /// <param name="sender" type="Object" mayBeNull="true"/>
        /// <param name="eventArgs" type="Sys.EventArgs" mayBeNull="true" />
        if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
            this._onBlur();
        } else {
            this._onFocus();
        }
    },

    clearText : function(focusing) {
        /// <summary>
        /// Clear the text from the target
        /// </summary>
        /// <param name="focusing" type="Boolean">
        /// Whether or not we are focusing on the textbox
        /// </param>
        var element = this.get_element();
        var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(element);
        wrapper.set_Value("");
        wrapper.set_IsWatermarked(false);
        if(focusing) {
            element.setAttribute("autocomplete","off");  // Avoid NS_ERROR_XPC_JS_THREW_STRING error in Firefox
            element.select();  // This fix displays the blinking cursor in a focused, empty text box in IE
        }
    },

    _onFocus : function(evt) {
        /// <summary>
        /// Handler for the textbox's focus event
        /// </summary>
        /// <param name="evt" type="Sys.UI.DomEvent">
        /// Event info
        /// </param>
        
        var e = this.get_element();
        if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e).get_IsWatermarked()) {
            // Clear watermark
            this.clearText(evt ? true : false);
        }
        e.className = this._oldClassName;
        
        // Restore the MaxLength on the TextBox when we edit
        // the non-watermarked text
        if (this._maxLength > 0) {
            this.get_element().maxLength = this._maxLength;
            this._maxLength = null;
        }
    },

    _onBlur : function() {
        /// <summary>
        /// Handle the textbox's blur event
        /// </summary>
        var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());
        if(("" == wrapper.get_Current()) || wrapper.get_IsWatermarked()) {
            // Enlarge the TextBox's MaxLength if it's not big enough
            // to accomodate the watermark
            if (this.get_element().maxLength > 0 && this._watermarkText.length > this.get_element().maxLength) {
                this._maxLength = this.get_element().maxLength;
                this.get_element().maxLength = this._watermarkText.length;
            }
            
            this._applyWatermark();
        }
    },

    _applyWatermark : function() {
        /// <summary>
        /// Apply the watermark to the textbox
        /// </summary>
        var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());
        wrapper.set_Watermark(this._watermarkText);
        wrapper.set_IsWatermarked(true);
        if(this._watermarkCssClass) {
            this.get_element().className = this._watermarkCssClass;
        }
    },

    _onKeyPress : function() {
        /// <summary>
        /// Handle the textbox's keypress event
        /// </summary>
        AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_IsWatermarked(false);
    },

    registerPropertyChanged : function() {
        /// <summary>
        /// Method called to hook up to Sys.Preview.UI.TextBox if present
        /// Note: This method must be called manually if the Sys.Preview.UI.TextBox
        ///       is added after the TextBoxWatermarkBehavior is initialized.
        /// </summary>

        var e = this.get_element();
        if(e.control && !this._propertyChangedHandler) {
            this._propertyChangedHandler = Function.createDelegate(this, this._onPropertyChanged);
            e.control.add_propertyChanged(this._propertyChangedHandler);
        }
    },

    _onPropertyChanged : function(sender, propertyChangedEventArgs) {
        /// <summary>
        /// Handler called automatically when a property change event is fired
        /// </summary>
        /// <param name="sender" type="Object">
        /// Sender
        /// </param>
        /// <param name="propertyChangedEventArgs" type="Sys.PropertyChangedEventArgs">
        /// Event arguments
        /// </param>
        if("text" == propertyChangedEventArgs.get_propertyName()) {
            this.set_Value(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Current());
        }
    },

    _onSubmit : function() {
        /// <summary>
        /// Handler Called automatically when a submit happens to clear the watermark before posting back
        /// </summary>
        if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
            // Clear watermark text before page is submitted
            this.clearText(false);
            this._clearedForSubmit = true;
        }
    },

    _partialUpdateEndRequest : function(sender, endRequestEventArgs) {
        /// <summary>
        /// Handler Called automatically when a partial postback ends
        /// </summary>
        /// <param name="sender" type="Object">
        /// Sender
        /// </param>
        /// <param name="endRequestEventArgs" type="Sys.WebForms.EndRequestEventArgs">
        /// Event arguments
        /// </param>
        AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, '_partialUpdateEndRequest', [sender, endRequestEventArgs]);

        if (this.get_element() && this._clearedForSubmit) {
            // Restore the cleared watermark (useful when the submit was wrapped in an UpdatePanel)
            this.get_element().blur();
            this._onBlur();
            this._clearedForSubmit = false;
        }
    },

    get_WatermarkText : function() {
        /// <value type="String">
        /// The text to show when the control has no value
        /// </value>
        return this._watermarkText;
    },
    set_WatermarkText : function(value) {
        if (this._watermarkText != value) {
            this._watermarkText = value;
            if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
                this._applyWatermark();
            }
            this.raisePropertyChanged('WatermarkText');
        }
    },

    get_WatermarkCssClass : function() {
        /// <value type="String">
        /// The CSS class to apply to the TextBox when it has no value (e.g. the watermark text is shown).
        /// </value>
        return this._watermarkCssClass;
    },
    set_WatermarkCssClass : function(value) {
        if (this._watermarkCssClass != value) {
            this._watermarkCssClass = value;
            if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
                this._applyWatermark();
            }
            this.raisePropertyChanged('WatermarkCssClass');
        }
    },

    get_Text : function() {
        /// <value type="String">
        /// Wrapper for the textbox's text that will ignore or create the watermark as appropriate
        /// </value>
        return AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Value();
    },
    set_Text : function(value) {
        if ("" == value) {
            AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_Current("");
            this.get_element().blur();
            this._onBlur();  // onBlur needs to see ""
        } else {
            this._onFocus();  // onFocus sets ""
            AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_Current(value);
        }
    }
}
AjaxControlToolkit.TextBoxWatermarkBehavior.registerClass('AjaxControlToolkit.TextBoxWatermarkBehavior', AjaxControlToolkit.BehaviorBase);

AjaxControlToolkit.TextBoxWatermarkBehavior.WebForm_OnSubmit = function() {
    /// <summary>
    /// Wraps ASP.NET's WebForm_OnSubmit in order to strip all watermarks prior to submission
    /// </summary>
    /// <returns type="Boolean">
    /// Result of original WebForm_OnSubmit
    /// </returns>
    var result = AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit();
    if (result) {
        var components = Sys.Application.getComponents();
        for(var i = 0 ; i < components.length ; i++) {
            var component = components[i];
            if (AjaxControlToolkit.TextBoxWatermarkBehavior.isInstanceOfType(component)) {
                component._onSubmit();
            }
        }
    }
    return result;
}

/* END AjaxControlToolkit.TextboxWatermark.TextboxWatermark.js */
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
(function() {var fn = function() {$get('ctl00_RadScriptManager1_HiddenField').value += ';;Telerik.Web.UI, Version=2008.1.613.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-GB:aa7dfc47-3d43-461d-a101-65736be4ea2b:393f5085:526d426:4b40c3e6:4fc2fd6d:9703c1f0:a3f85c94:6cfd3594;AjaxControlToolkit, Version=3.0.20229.23640, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-GB:e3bc87ee-a1fb-4392-a79f-fdd1c39f1899:e2e86ef9;AjaxControlToolkit, Version=3.0.20229.23640, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-GB:e3bc87ee-a1fb-4392-a79f-fdd1c39f1899:1df13a87;AjaxControlToolkit, Version=3.0.20229.23640, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-GB:e3bc87ee-a1fb-4392-a79f-fdd1c39f1899:8ccd9c1b';Sys.Application.remove_load(fn);};Sys.Application.add_load(fn);})();
