/* 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={getElementsByClassName:function(_1,_2){
var _3=(_2||document.body).getElementsByTagName("*");
var _4=[],_5;
for(var i=0,_7=_3.length;i<_7;i++){
_5=_3[i];
if(Sys.UI.DomElement.containsCssClass(_5,_1)){
_4.push(_5);
}
}
return _4;
},getOuterSize:function(_8){
var _9=$telerik.getSize(_8);
var _a=$telerik.getMarginBox(_8);
return {x:_9.x-_a.left,y:_9.y-_a.top,width:_9.width+_a.left+_a.right,height:_9.height+_a.top+_a.bottom};
},_borderStyleNames:["borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],_borderWidthNames:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],_paddingWidthNames:["paddingTop","paddingRight","paddingBottom","paddingLeft"],_marginWidthNames:["marginTop","marginRight","marginBottom","marginLeft"],radControls:[],registerControl:function(_b){
if(!Array.contains(this.radControls,_b)){
Array.add(this.radControls,_b);
}
},unregisterControl:function(_c){
Array.remove(this.radControls,_c);
},repaintChildren:function(_d){
var _e=_d.get_element();
for(var i=0,_10=this.radControls.length;i<_10;i++){
var _11=this.radControls[i];
if(_11.repaint&&this.isDescendant(_e,_11.get_element())){
_11.repaint();
}
}
},_borderThickness:function(){
$telerik._borderThicknesses={};
var _12=document.createElement("div");
var _13=document.createElement("div");
_12.style.visibility="hidden";
_12.style.position="absolute";
_12.style.fontSize="1px";
_13.style.height="0px";
_13.style.overflow="hidden";
document.body.appendChild(_12).appendChild(_13);
var _14=_12.offsetHeight;
_13.style.borderTop="solid black";
_13.style.borderTopWidth="thin";
$telerik._borderThicknesses["thin"]=_12.offsetHeight-_14;
_13.style.borderTopWidth="medium";
$telerik._borderThicknesses["medium"]=_12.offsetHeight-_14;
_13.style.borderTopWidth="thick";
$telerik._borderThicknesses["thick"]=_12.offsetHeight-_14;
if(typeof (_12.removeChild)!=="undefined"){
_12.removeChild(_13);
}
document.body.removeChild(_12);
if(!$telerik.isSafari){
_13.outerHTML=null;
}
if(!$telerik.isSafari){
_12.outerHTML=null;
}
_12=null;
_13=null;
},getCurrentStyle:function(_15,_16,_17){
var _18=null;
if(_15){
if(_15.currentStyle){
_18=_15.currentStyle[_16];
}else{
if(document.defaultView&&document.defaultView.getComputedStyle){
var _19=document.defaultView.getComputedStyle(_15,null);
if(_19){
_18=_19[_16];
}
}
}
if(!_18&&_15.style.getPropertyValue){
_18=_15.style.getPropertyValue(_16);
}else{
if(!_18&&_15.style.getAttribute){
_18=_15.style.getAttribute(_16);
}
}
}
if((!_18||_18==""||typeof (_18)==="undefined")){
if(typeof (_17)!="undefined"){
_18=_17;
}else{
_18=null;
}
}
return _18;
},getInheritedBackgroundColor:function(_1a){
if(!_1a){
return "#FFFFFF";
}
var _1b=$telerik.getCurrentStyle(_1a,"backgroundColor");
try{
while(!_1b||_1b==""||_1b=="transparent"||_1b=="rgba(0, 0, 0, 0)"){
_1a=_1a.parentNode;
if(!_1a){
_1b="#FFFFFF";
}else{
_1b=$telerik.getCurrentStyle(_1a,"backgroundColor");
}
}
}
catch(ex){
_1b="#FFFFFF";
}
return _1b;
},getLocation:function(_1c){
if(_1c===document.documentElement){
return new Sys.UI.Point(0,0);
}
if(Sys.Browser.agent==Sys.Browser.InternetExplorer){
if(_1c.window===_1c||_1c.nodeType===9||!_1c.getClientRects||!_1c.getBoundingClientRect){
return new Sys.UI.Point(0,0);
}
var _1d=_1c.getClientRects();
if(!_1d||!_1d.length){
return new Sys.UI.Point(0,0);
}
var _1e=_1d[0];
var _1f=0;
var _20=0;
var _21=false;
try{
_21=_1c.ownerDocument.parentWindow.frameElement;
}
catch(ex){
_21=true;
}
if(_21){
var _22=_1c.getBoundingClientRect();
if(!_22){
return new Sys.UI.Point(0,0);
}
var _23=_1e.left;
var _24=_1e.top;
for(var i=1;i<_1d.length;i++){
var r=_1d[i];
if(r.left<_23){
_23=r.left;
}
if(r.top<_24){
_24=r.top;
}
}
_1f=_23-_22.left;
_20=_24-_22.top;
}
var _27=_1c.document.documentElement;
var _28=new Sys.UI.Point(_1e.left-2-_1f+_27.scrollLeft,_1e.top-2-_20+_27.scrollTop);
if($telerik.quirksMode){
_28.x+=document.body.scrollLeft;
_28.y+=document.body.scrollTop;
}
return _28;
}
var _28=Sys.UI.DomElement.getLocation(_1c);
if($telerik.isOpera){
var _29=_1c.offsetParent;
while(_29&&_29.tagName.toUpperCase()!="BODY"&&_29.tagName.toUpperCase()!="HTML"){
_28.x-=_29.scrollLeft;
_28.y-=_29.scrollTop;
_29=_29.offsetParent;
}
}
if($telerik.isSafari){
var _29=_1c.parentNode;
var _2a=null;
var _2b=null;
while(_29&&_29.tagName.toUpperCase()!="BODY"&&_29.tagName.toUpperCase()!="HTML"){
_28.x-=_29.scrollLeft;
_28.y-=_29.scrollTop;
if($telerik.isSafari3||$telerik.isSafari2){
if(_29.tagName.toUpperCase()=="TD"){
_2a=_29;
}else{
if(_29.tagName.toUpperCase()=="TABLE"){
_2b=_29;
}
}
if(_2a&&_2b){
_28.x+=parseInt($telerik.getCurrentStyle(_2b,"borderTopWidth"));
_28.y+=parseInt($telerik.getCurrentStyle(_2b,"borderLeftWidth"));
if($telerik.getCurrentStyle(_2b,"borderCollapse")!="collapse"){
_28.x+=parseInt($telerik.getCurrentStyle(_2a,"borderTopWidth"));
_28.y+=parseInt($telerik.getCurrentStyle(_2a,"borderLeftWidth"));
}
_2a=null;
_2b=null;
}else{
if(_2b){
if($telerik.getCurrentStyle(_2b,"borderCollapse")!="collapse"){
_28.x+=parseInt($telerik.getCurrentStyle(_2b,"borderTopWidth"));
_28.y+=parseInt($telerik.getCurrentStyle(_2b,"borderLeftWidth"));
}
_2b=null;
}
}
}
_29=_29.parentNode;
}
}
if($telerik.isIE&&$telerik.quirksMode){
_28.x+=document.body.scrollLeft;
_28.y+=document.body.scrollTop;
}
return _28;
},setLocation:function(_2c,_2d){
Sys.UI.DomElement.setLocation(_2c,_2d.x,_2d.y);
},findControl:function(_2e,id){
var _30=_2e.getElementsByTagName("*");
for(var i=0,l=_30.length;i<l;i++){
var _33=_30[i].id;
if(_33&&_33.endsWith(id)){
return $find(_33);
}
}
return null;
},getContentSize:function(_34){
if(!_34){
throw Error.argumentNull("element");
}
var _35=$telerik.getSize(_34);
var _36=$telerik.getBorderBox(_34);
var _37=$telerik.getPaddingBox(_34);
return {width:_35.width-_36.horizontal-_37.horizontal,height:_35.height-_36.vertical-_37.vertical};
},getSize:function(_38){
if(!_38){
throw Error.argumentNull("element");
}
return {width:_38.offsetWidth,height:_38.offsetHeight};
},setContentSize:function(_39,_3a){
if(!_39){
throw Error.argumentNull("element");
}
if(!_3a){
throw Error.argumentNull("size");
}
if($telerik.getCurrentStyle(_39,"MozBoxSizing")=="border-box"||$telerik.getCurrentStyle(_39,"BoxSizing")=="border-box"){
var _3b=$telerik.getBorderBox(_39);
var _3c=$telerik.getPaddingBox(_39);
_3a={width:_3a.width+_3b.horizontal+_3c.horizontal,height:_3a.height+_3b.vertical+_3c.vertical};
}
_39.style.width=_3a.width.toString()+"px";
_39.style.height=_3a.height.toString()+"px";
},setSize:function(_3d,_3e){
if(!_3d){
throw Error.argumentNull("element");
}
if(!_3e){
throw Error.argumentNull("size");
}
var _3f=$telerik.getBorderBox(_3d);
var _40=$telerik.getPaddingBox(_3d);
var _41={width:_3e.width-_3f.horizontal-_40.horizontal,height:_3e.height-_3f.vertical-_40.vertical};
$telerik.setContentSize(_3d,_41);
},getBounds:function(_42){
var _43=$telerik.getLocation(_42);
return new Sys.UI.Bounds(_43.x,_43.y,_42.offsetWidth||0,_42.offsetHeight||0);
},setBounds:function(_44,_45){
if(!_44){
throw Error.argumentNull("element");
}
if(!_45){
throw Error.argumentNull("bounds");
}
$telerik.setSize(_44,_45);
$telerik.setLocation(_44,_45);
},getClientBounds:function(){
var _46;
var _47;
switch(Sys.Browser.agent){
case Sys.Browser.InternetExplorer:
_46=document.documentElement.clientWidth;
_47=document.documentElement.clientHeight;
if(_46==0&&_47==0){
_46=document.body.clientWidth;
_47=document.body.clientHeight;
}
break;
case Sys.Browser.Safari:
_46=window.innerWidth;
_47=window.innerHeight;
break;
case Sys.Browser.Opera:
_46=Math.min(window.innerWidth,document.body.clientWidth);
_47=Math.min(window.innerHeight,document.body.clientHeight);
break;
default:
_46=Math.min(window.innerWidth,document.documentElement.clientWidth);
_47=Math.min(window.innerHeight,document.documentElement.clientHeight);
break;
}
return new Sys.UI.Bounds(0,0,_46,_47);
},getMarginBox:function(_48){
if(!_48){
throw Error.argumentNull("element");
}
var box={top:$telerik.getMargin(_48,Telerik.Web.BoxSide.Top),right:$telerik.getMargin(_48,Telerik.Web.BoxSide.Right),bottom:$telerik.getMargin(_48,Telerik.Web.BoxSide.Bottom),left:$telerik.getMargin(_48,Telerik.Web.BoxSide.Left)};
box.horizontal=box.left+box.right;
box.vertical=box.top+box.bottom;
return box;
},getPaddingBox:function(_4a){
if(!_4a){
throw Error.argumentNull("element");
}
var box={top:$telerik.getPadding(_4a,Telerik.Web.BoxSide.Top),right:$telerik.getPadding(_4a,Telerik.Web.BoxSide.Right),bottom:$telerik.getPadding(_4a,Telerik.Web.BoxSide.Bottom),left:$telerik.getPadding(_4a,Telerik.Web.BoxSide.Left)};
box.horizontal=box.left+box.right;
box.vertical=box.top+box.bottom;
return box;
},getBorderBox:function(_4c){
if(!_4c){
throw Error.argumentNull("element");
}
var box={top:$telerik.getBorderWidth(_4c,Telerik.Web.BoxSide.Top),right:$telerik.getBorderWidth(_4c,Telerik.Web.BoxSide.Right),bottom:$telerik.getBorderWidth(_4c,Telerik.Web.BoxSide.Bottom),left:$telerik.getBorderWidth(_4c,Telerik.Web.BoxSide.Left)};
box.horizontal=box.left+box.right;
box.vertical=box.top+box.bottom;
return box;
},isBorderVisible:function(_4e,_4f){
if(!_4e){
throw Error.argumentNull("element");
}
if(_4f<Telerik.Web.BoxSide.Top||_4f>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_4f,"Telerik.Web.BoxSide"));
}
var _50=$telerik._borderStyleNames[_4f];
var _51=$telerik.getCurrentStyle(_4e,_50);
return _51!="none";
},getMargin:function(_52,_53){
if(!_52){
throw Error.argumentNull("element");
}
if(_53<Telerik.Web.BoxSide.Top||_53>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_53,"Telerik.Web.BoxSide"));
}
var _54=$telerik._marginWidthNames[_53];
var _55=$telerik.getCurrentStyle(_52,_54);
try{
return $telerik.parsePadding(_55);
}
catch(ex){
return 0;
}
},getBorderWidth:function(_56,_57){
if(!_56){
throw Error.argumentNull("element");
}
if(_57<Telerik.Web.BoxSide.Top||_57>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_57,"Telerik.Web.BoxSide"));
}
if(!$telerik.isBorderVisible(_56,_57)){
return 0;
}
var _58=$telerik._borderWidthNames[_57];
var _59=$telerik.getCurrentStyle(_56,_58);
return $telerik.parseBorderWidth(_59);
},getPadding:function(_5a,_5b){
if(!_5a){
throw Error.argumentNull("element");
}
if(_5b<Telerik.Web.BoxSide.Top||_5b>Telerik.Web.BoxSide.Left){
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue,_5b,"Telerik.Web.BoxSide"));
}
var _5c=$telerik._paddingWidthNames[_5b];
var _5d=$telerik.getCurrentStyle(_5a,_5c);
return $telerik.parsePadding(_5d);
},parseBorderWidth:function(_5e){
if(_5e){
switch(_5e){
case "thin":
case "medium":
case "thick":
return $telerik._borderThicknesses[_5e];
case "inherit":
return 0;
}
var _5f=$telerik.parseUnit(_5e);
return _5f.size;
}
return 0;
},parsePadding:function(_60){
if(_60){
if(_60=="inherit"){
return 0;
}
var _61=$telerik.parseUnit(_60);
return _61.size;
}
return 0;
},parseUnit:function(_62){
if(!_62){
throw Error.argumentNull("value");
}
_62=_62.trim().toLowerCase();
var l=_62.length;
var s=-1;
for(var i=0;i<l;i++){
var ch=_62.substr(i,1);
if((ch<"0"||ch>"9")&&ch!="-"&&ch!="."&&ch!=","){
break;
}
s=i;
}
if(s==-1){
throw Error.create("No digits");
}
var _67;
var _68;
if(s<(l-1)){
_67=_62.substring(s+1).trim();
}else{
_67="px";
}
_68=parseFloat(_62.substr(0,s+1));
if(_67=="px"){
_68=Math.floor(_68);
}
return {size:_68,type:_67};
},containsPoint:function(_69,x,y){
return x>=_69.x&&x<=(_69.x+_69.width)&&y>=_69.y&&y<=(_69.y+_69.height);
},isDescendant:function(_6c,_6d){
for(var n=_6d.parentNode;n!=null;n=n.parentNode){
if(n==_6c){
return true;
}
}
return false;
},isDescendantOrSelf:function(_6f,_70){
if(_6f===_70){
return true;
}
return $telerik.isDescendant(_6f,_70);
},setOuterHeight:function(_71,_72){
if(_72<=0||_72==""){
_71.style.height="";
}else{
_71.style.height=_72+"px";
var _73=_71.offsetHeight-_72;
var _74=_72-_73;
if(_74>0){
_71.style.height=_74+"px";
}else{
_71.style.height="";
}
}
},setOpacity:function(_75,_76){
if(!_75){
throw Error.argumentNull("element");
}
try{
if(_75.filters){
var _77=_75.filters;
var _78=true;
if(_77.length!==0){
var _79=_77["DXImageTransform.Microsoft.Alpha"];
if(_79){
_78=false;
_79.opacity=_76*100;
}
}
if(_78){
_75.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+(_76*100)+")";
}
}else{
_75.style.opacity=_76;
}
}
catch(ex){
}
},getOpacity:function(_7a){
if(!_7a){
throw Error.argumentNull("element");
}
var _7b=false;
var _7c;
try{
if(_7a.filters){
var _7d=_7a.filters;
if(_7d.length!==0){
var _7e=_7d["DXImageTransform.Microsoft.Alpha"];
if(_7e){
_7c=_7e.opacity/100;
_7b=true;
}
}
}else{
_7c=$telerik.getCurrentStyle(_7a,"opacity",1);
_7b=true;
}
}
catch(ex){
}
if(_7b===false){
return 1;
}
return parseFloat(_7c);
},addCssClasses:function(_7f,_80){
for(var i=0;i<_80.length;i++){
Sys.UI.DomElement.addCssClass(_7f,_80[i]);
}
},removeCssClasses:function(_82,_83){
for(var i=0;i<_83.length;i++){
Sys.UI.DomElement.removeCssClass(_82,_83[i]);
}
},setOuterWidth:function(_85,_86){
if(_86<=0||_86==""){
_85.style.width="";
}else{
_85.style.width=_86+"px";
var _87=_85.offsetWidth-_86;
var _88=_86-_87;
if(_88>0){
_85.style.width=_88+"px";
}else{
_85.style.width="";
}
}
},getScrollOffset:function(_89,_8a){
var _8b=0;
var top=0;
var _8d=_89;
while(_8d!=null&&_8d.scrollLeft!=null){
_8b+=_8d.scrollLeft;
top+=_8d.scrollTop;
if(!_8a||(_8d==document.body&&(_8d.scrollLeft!=0||_8d.scrollTop!=0))){
break;
}
_8d=_8d.parentNode;
}
return {x:_8b,y:top};
},getElementByClassName:function(_8e,_8f,_90){
var _91=null;
if(_90){
_91=_8e.getElementsByTagName(_90);
}else{
_91=_8e.getElementsByTagName("*");
}
for(var i=0,_93=_91.length;i<_93;i++){
var _94=_91[i];
if(Sys.UI.DomElement.containsCssClass(_94,_8f)){
return _94;
}
}
return null;
},addExternalHandler:function(_95,_96,_97){
if(_95.addEventListener){
_95.addEventListener(_96,_97,false);
}else{
if(_95.attachEvent){
_95.attachEvent("on"+_96,_97);
}
}
},removeExternalHandler:function(_98,_99,_9a){
if(_98.addEventListener){
_98.removeEventListener(_99,_9a,false);
}else{
if(_98.detachEvent){
_98.detachEvent("on"+_99,_9a);
}
}
},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(_9c){
if(_9c.outerHTML){
return _9c.outerHTML;
}else{
var _9d=_9c.cloneNode(true);
var _9e=_9c.ownerDocument.createElement("DIV");
_9e.appendChild(_9d);
return _9e.innerHTML;
}
},setVisible:function(e,_a0){
if(!e){
return;
}
if(_a0!=$telerik.getVisible(e)){
if(_a0){
if(e.style.removeAttribute){
e.style.removeAttribute("display");
}else{
e.style.removeProperty("display");
}
}else{
e.style.display="none";
}
e.style.visibility=_a0?"visible":"hidden";
}
},getVisible:function(e){
if(!e){
return false;
}
return (("none"!=$telerik.getCurrentStyle(e,"display"))&&("hidden"!=$telerik.getCurrentStyle(e,"visibility")));
},getViewPortSize:function(){
var _a2=0;
var _a3=0;
var _a4=document.body;
if(!$telerik.quirksMode&&!$telerik.isSafari){
_a4=document.documentElement;
}
if(window.innerWidth){
_a2=window.innerWidth;
_a3=window.innerHeight;
}else{
_a2=_a4.clientWidth;
_a3=_a4.clientHeight;
}
_a2+=_a4.scrollLeft;
_a3+=_a4.scrollTop;
return {width:_a2-6,height:_a3-6};
},elementOverflowsTop:function(_a5){
return $telerik.getLocation(_a5).y<0;
},elementOverflowsLeft:function(_a6){
return $telerik.getLocation(_a6).x<0;
},elementOverflowsBottom:function(_a7,_a8){
var _a9=$telerik.getLocation(_a8).y+_a8.offsetHeight;
return _a9>_a7.height;
},elementOverflowsRight:function(_aa,_ab){
var _ac=$telerik.getLocation(_ab).x+_ab.offsetWidth;
return _ac>_aa.width;
},getDocumentRelativeCursorPosition:function(e){
var _ae=document.documentElement.scrollLeft||document.body.scrollLeft;
var _af=document.documentElement.scrollTop||document.body.scrollTop;
var _b0=e.clientX+_ae;
var top=e.clientY+_af;
return {left:_b0,top:top};
},getFirstChildByTagName:function(_b2,_b3,_b4){
if(!_b2||!_b2.childNodes){
return null;
}
var _b5=_b2.childNodes[_b4]||_b2.firstChild;
while(_b5){
if(_b5.nodeType==1&&_b5.tagName.toLowerCase()==_b3){
return _b5;
}
_b5=_b5.nextSibling;
}
return null;
},getChildByClassName:function(_b6,_b7,_b8){
var _b9=_b6.childNodes[_b8]||_b6.firstChild;
while(_b9){
if(_b9.nodeType==1&&_b9.className.indexOf(_b7)>-1){
return _b9;
}
_b9=_b9.nextSibling;
}
return null;
},getChildrenByTagName:function(_ba,_bb){
var _bc=new Array();
var _bd=_ba.childNodes;
for(var i=0,_bf=_bd.length;i<_bf;i++){
var _c0=_bd[i];
if(_c0.nodeType==1&&_c0.tagName.toLowerCase()==_bb){
Array.add(_bc,_c0);
}
}
return _bc;
},getChildrenByClassName:function(_c1,_c2){
var _c3=new Array();
var _c4=_c1.childNodes;
for(var i=0,_c6=_c4.length;i<_c6;i++){
var _c7=_c4[i];
if(_c7.nodeType==1&&_c7.className.indexOf(_c2)>-1){
Array.add(_c3,_c7);
}
}
return _c3;
},isMouseOverElement:function(_c8,e){
var _ca=$telerik.getBounds(_c8);
var _cb=$telerik.getDocumentRelativeCursorPosition(e);
return $telerik.containsPoint(_ca,_cb.left,_cb.top);
}};
if(typeof (Sys.Browser.WebKit)=="undefined"){
Sys.Browser.WebKit={};
}
if(navigator.userAgent.indexOf("WebKit/")>-1){
Sys.Browser.agent=Sys.Browser.WebKit;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/WebKit\/(\d+(\.\d+)?)/)[1]);
Sys.Browser.name="WebKit";
}
$telerik.isSafari3=Sys.Browser.agent==Sys.Browser.WebKit;
$telerik.isSafari2=Sys.Browser.agent==Sys.Browser.Safari;
$telerik.isSafari=$telerik.isSafari2||$telerik.isSafari3;
$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.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(_cc){
Telerik.Web.UI.RadWebControl.initializeBase(this,[_cc]);
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 _cd=$get(this.get_clientStateFieldID());
if(!_cd){
return;
}
_cd.setAttribute("autocomplete","off");
},dispose:function(){
$telerik.unregisterControl(this);
Telerik.Web.UI.RadWebControl.callBaseMethod(this,"dispose");
},raiseEvent:function(_ce,_cf){
var _d0=this.get_events().getHandler(_ce);
if(_d0){
if(!_cf){
_cf=Sys.EventArgs.Empty;
}
_d0(this,_cf);
}
},updateClientState:function(){
this.set_clientState(this.saveClientState());
},saveClientState:function(){
return null;
},get_clientStateFieldID:function(){
return this._clientStateFieldID;
},set_clientStateFieldID:function(_d1){
if(this._clientStateFieldID!=_d1){
this._clientStateFieldID=_d1;
this.raisePropertyChanged("ClientStateFieldID");
}
},get_clientState:function(){
if(this._clientStateFieldID){
var _d2=document.getElementById(this._clientStateFieldID);
if(_d2){
return _d2.value;
}
}
return null;
},set_clientState:function(_d3){
if(this._clientStateFieldID){
var _d4=document.getElementById(this._clientStateFieldID);
if(_d4){
_d4.value=_d3;
}
}
},_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(_d7){
if(this._interval!==_d7){
this._interval=_d7;
this.raisePropertyChanged("interval");
if(!this.get_isUpdating()&&(this._timer!==null)){
this._stopTimer();
this._startTimer();
}
}
},get_enabled:function(){
return this._enabled;
},set_enabled:function(_d8){
if(_d8!==this.get_enabled()){
this._enabled=_d8;
this.raisePropertyChanged("enabled");
if(!this.get_isUpdating()){
if(_d8){
this._startTimer();
}else{
this._stopTimer();
}
}
}
},add_tick:function(_d9){
this.get_events().addHandler("tick",_d9);
},remove_tick:function(_da){
this.get_events().removeHandler("tick",_da);
},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 _db=this.get_events().getHandler("tick");
if(_db){
_db(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(_dc){
if(!this._upperAbbrMonths){
this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
}
return Array.indexOf(this._upperAbbrMonths,this._toUpper(_dc));
};
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(_dd){
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(_de){
Telerik.Web.UI.WebServiceLoaderEventArgs.initializeBase(this);
this._context=_de;
};
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(_df,_e0){
Telerik.Web.UI.WebServiceLoaderSuccessEventArgs.initializeBase(this,[_e0]);
this._data=_df;
};
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(_e1,_e2){
Telerik.Web.UI.WebServiceLoaderErrorEventArgs.initializeBase(this,[_e2]);
this._message=_e1;
};
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(_e3){
this._webServiceSettings=_e3;
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(_e4,_e5){
var _e6=this.get_webServiceSettings();
if(_e6.get_isEmpty()){
Error.invalidOperation("Please, specify valid web service and method.");
return;
}
var _e7=_e6.get_path();
var _e8=_e6.get_method();
this._raiseEvent("loadingStarted",new Telerik.Web.UI.WebServiceLoaderEventArgs(_e5));
this._currentWebRequest=Sys.Net.WebServiceProxy.invoke(_e7,_e8,false,_e4,this._onWebServiceSuccessDelegate,this._onWebServiceErrorDelegate,_e5);
},add_loadingStarted:function(_e9){
this.get_events().addHandler("loadingStarted",_e9);
},add_loadingError:function(_ea){
this.get_events().addHandler("loadingError",_ea);
},add_loadingSuccess:function(_eb){
this.get_events().addHandler("loadingSuccess",_eb);
},_onWebServiceSuccess:function(_ec,_ed){
var _ee=new Telerik.Web.UI.WebServiceLoaderSuccessEventArgs(_ec,_ed);
this._raiseEvent("loadingSuccess",_ee);
},_onWebServiceError:function(_ef,_f0){
var _f1=new Telerik.Web.UI.WebServiceLoaderErrorEventArgs(_ef.get_message(),_f0);
this._raiseEvent("loadingError",_f1);
},_raiseEvent:function(_f2,_f3){
var _f4=this.get_events().getHandler(_f2);
if(_f4){
if(!_f3){
_f3=Sys.EventArgs.Empty;
}
_f4(this,_f3);
}
}};
Telerik.Web.UI.WebServiceLoader.registerClass("Telerik.Web.UI.WebServiceLoader");
Telerik.Web.UI.WebServiceSettings=function(_f5){
this._path=null;
this._method=null;
if(!_f5){
_f5={};
}
if(typeof (_f5.path)!="undefined"){
this._path=_f5.path;
}
if(typeof (_f5.method)!="undefined"){
this._method=_f5.method;
}
};
Telerik.Web.UI.WebServiceSettings.prototype={get_path:function(){
return this._path;
},set_path:function(_f6){
this._path=_f6;
},get_method:function(){
return this._method;
},set_method:function(_f7){
this._method=_f7;
},get_isEmpty:function(){
var _f8=this.get_path();
var _f9=this.get_method();
return (!(_f8&&_f9));
}};
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);
if(_d6.tagName.toUpperCase()!="BODY"&&_d6.tagName.toUpperCase()!="HTML"){
var _d9=$telerik.getLocation(_d6);
_d7={x:_d8.x-_d9.x+_d6.scrollLeft,y:_d8.y-_d9.y+_d6.scrollTop};
}else{
_d7={x:_d8.x,y:_d8.y};
}
}else{
_d8=$telerik.getBounds(_d6);
_d7={x:0,y:0};
}
var _da=elt.offsetWidth-(elt.clientLeft?elt.clientLeft*2:0);
var _db=elt.offsetHeight-(elt.clientTop?elt.clientTop*2:0);
var _dc;
switch(this._positioningMode){
case Telerik.Web.PositioningMode.Center:
_dc={x:Math.round(_d8.width/2-_da/2),y:Math.round(_d8.height/2-_db/2)};
break;
case Telerik.Web.PositioningMode.BottomLeft:
_dc={x:0,y:_d8.height};
break;
case Telerik.Web.PositioningMode.BottomRight:
_dc={x:_d8.width-_da,y:_d8.height};
break;
case Telerik.Web.PositioningMode.TopLeft:
_dc={x:0,y:-elt.offsetHeight};
break;
case Telerik.Web.PositioningMode.TopRight:
_dc={x:_d8.width-_da,y:-elt.offsetHeight};
break;
default:
_dc={x:0,y:0};
}
_dc.x+=this._x+_d7.x;
_dc.y+=this._y+_d7.y;
$telerik.setLocation(elt,_dc);
if(this._firstPopup){
elt.style.width=_da+"px";
}
this._firstPopup=false;
var _dd=$telerik.getBounds(elt);
var _de=this._getViewportBounds();
if(this._keepInScreenBounds){
var _df=false;
var _e0=self.innerWidth?self.innerWidth:document.documentElement.clientWidth;
if(!_e0){
_e0=document.body.clientWidth;
}
if(_dd.x+_dd.width-_de.scrollLeft>_e0){
_dc.x-=_dd.x+_dd.width-_e0+_de.scrollLeft;
_df=true;
}
if(_dd.x<0){
_dc.x-=_dd.x;
_df=true;
}
if(_dd.y<0){
_dc.y-=_dd.y;
_df=true;
}
if(_de.height<_dd.y+_dd.height-_de.scrollTop){
if(_de.height-_dd.height>0){
_dc.y=_de.height-_dd.height+_de.scrollTop;
_df=true;
}
}
if(_df){
$telerik.setLocation(elt,_dc);
_dd=$telerik.getBounds(elt);
}
}
elt.zIndex=1000;
if(((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7))||this._overlay){
var _e1=elt._hideWindowedElementsIFrame;
if(!_e1){
_e1=document.createElement("iframe");
_e1.src="javascript:'<html></html>';";
_e1.style.position="absolute";
_e1.style.display="none";
_e1.scrolling="no";
_e1.frameBorder="0";
_e1.tabIndex="-1";
_e1.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
elt.parentNode.insertBefore(_e1,elt);
elt._hideWindowedElementsIFrame=_e1;
this._moveHandler=Function.createDelegate(this,this._onMove);
Sys.UI.DomEvent.addHandler(elt,"move",this._moveHandler);
}
$telerik.setBounds(_e1,_dd);
if(Sys.Browser.agent===Sys.Browser.Firefox){
_e1.style.top=parseInt(_dd.y)-_de.scrollTop+"px";
_e1.style.left=parseInt(_dd.x)-_de.scrollLeft+"px";
_e1.style.position="fixed";
}
if($telerik.quirksMode){
return;
}
_e1.style.display=elt.style.display;
if(elt.currentStyle&&elt.currentStyle.zIndex){
_e1.style.zIndex=elt.currentStyle.zIndex;
}else{
if(elt.style.zIndex){
_e1.style.zIndex=elt.style.zIndex;
}
}
}
},_getViewportBounds:function(){
var _e2=$telerik.getClientBounds();
var _e3=document.documentElement.scrollLeft||document.body.scrollLeft;
var _e4=document.documentElement.scrollTop||document.body.scrollTop;
_e2.scrollLeft=_e3;
_e2.scrollTop=_e4;
return _e2;
},_setCoordinates:function(x,y){
var _e7=false;
if(x!=this._x){
this._x=x;
_e7=true;
}
if(y!=this._y){
this._y=y;
_e7=true;
}
if($telerik.getVisible(this.get_element())&&_e7&&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 _ea=elt._hideWindowedElementsIFrame;
if(_ea){
if(Sys.Browser.agent===Sys.Browser.Firefox){
var _eb=this._getViewportBounds();
_ea.style.top=parseInt(elt.style.top)-_eb.scrollTop+"px";
_ea.style.left=parseInt(elt.style.left)-_eb.scrollLeft+"px";
_ea.style.position="fixed";
}else{
_ea.style.top=elt.style.top;
_ea.style.left=elt.style.left;
}
}
},_handleElementResize:function(){
var elt=this.get_element();
var _ed=elt._hideWindowedElementsIFrame;
if(_ed){
var _ee=$telerik.getBounds(elt);
$telerik.setBounds(_ed,_ee);
}
},_attachWindowHandlers:function(_ef){
if(!Sys.Browser.agent===Sys.Browser.Firefox){
return;
}
var _f0=window;
if(true==_ef){
this._windowResizeDelegate=Function.createDelegate(this,this._onMove);
$addHandler(_f0,"resize",this._windowResizeDelegate);
this._windowScrollDelegate=Function.createDelegate(this,this._onMove);
$addHandler(_f0,"scroll",this._windowScrollDelegate);
}else{
if(this._windowResizeDelegate){
$removeHandler(_f0,"resize",this._windowResizeDelegate);
}
this._windowResizeDelegate=null;
if(this._windowScrollDelegate){
$removeHandler(_f0,"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(_f1,_f2,_f3,_f4,doc,_f6){
this._document=doc?doc:document;
this._documentMouseMoveDelegate=null;
this._documentMouseUpDelegate=null;
this._element=null;
this._tableElement=null;
this._moveCursorType="move";
this._enabled=true;
this._jsOwner=null;
this._saveDelegates={};
this.makeResizable(_f1,_f2,_f3,_f4,_f6);
};
Telerik.Web.UI.ResizeExtender.containsBounds=function(_f7,_f8){
if(!_f7||!_f8){
return false;
}
var _f9=$telerik.containsPoint(_f7,_f8.x,_f8.y);
if(_f9){
var x=_f8.x+_f8.width;
var y=_f8.y+_f8.height;
_f9=$telerik.containsPoint(_f7,x,y);
}
return _f9;
};
Telerik.Web.UI.ResizeExtender.prototype={dispose:function(){
this._attachDocumentHandlers(false);
this._configureHandleElements(false);
this._jsOwner=null;
},enable:function(_fc){
this._enabled=_fc;
},makeResizable:function(_fd,_fe,_ff,_100,_101){
if(!_fe){
return;
}
if(this._element){
alert("Element "+_fe.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=_fd;
this._element=_fe;
this._tableElement=_100;
this._resizeHandles=_ff;
if(_101){
this._moveCursorType=_101;
}
this._startX=0;
this._startY=0;
this._cancelResize=true;
this._configureHandleElements(true);
},_raiseDragEvent:function(_102,ev,_104){
if(this._jsOwner&&this._jsOwner["on"+_102]){
var args=ev;
if(!args){
args={};
}
args.element=this._element;
args.ownerEvent=_104;
return this._jsOwner["on"+_102](args);
}
return true;
},_raiseEvent:function(_106,ev){
if(this._jsOwner&&this._jsOwner["on"+_106]){
if(!ev){
ev=new Sys.EventArgs();
}else{
if(_106=="Resize"){
ev=this._resizeDir;
}else{
if(_106=="Resizing"){
ev=this._getProposedBounds(ev);
}
}
}
return this._jsOwner["on"+_106](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._cancelResize){
return false;
}
var _10b=0;
var _10c=0;
var _10d=0;
var nTop=0;
var _10f=this._originalBounds;
var _110=this._resizeDir.move;
if(_110){
_10d=_10f.x+(e.clientX-this._startX);
nTop=_10f.y+(e.clientY-this._startY);
}else{
if(this._resizeDir.east){
_10b=_10f.width+(e.clientX-this._startX);
}else{
if(this._resizeDir.west){
_10d=e.clientX-this._leftHandleMouseDelta;
_10b=_10f.width-(e.clientX-this._startX);
}
}
if(this._resizeDir.south){
_10c=_10f.height+(e.clientY-this._startY);
}else{
if(this._resizeDir.north){
nTop=e.clientY;
_10c=_10f.height-(e.clientY-this._startY);
}
}
}
if(this._offsetLocation){
_10d-=this._offsetLocation.x;
nTop-=this._offsetLocation.y;
}
var _111=new Sys.UI.Bounds(_10d,nTop,_10b,_10c);
var _112=_110?this._raiseDragEvent("Drag",_111,e):this._raiseEvent("Resizing",_111);
if(false==_112){
return true;
}
if(_110||_111.x>0){
this._element.style.left=_111.x+"px";
}
if(_110||_111.y>0){
this._element.style.top=_111.y+"px";
}
if(_111.width>0){
this._element.style.width=_111.width+"px";
}
if(_111.height>0){
this._element.style.height=_111.height+"px";
}
if(!_110){
this._updateInnerTableSize();
}
return true;
},_storeStartCoords:function(e){
if(!this._enabled){
return;
}
this._cancelResize=false;
this._startX=e.clientX;
this._startY=e.clientY;
var _114=$telerik.getBounds(this._element);
this._originalBounds=_114;
var _115=e.target?e.target:e.srcElement;
if(_115&&_115.type==3){
_115=_115.parentNode;
}
this._resizeType=$telerik.getCurrentStyle(_115,"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:new RegExp(this._moveCursorType).test(this._resizeType)?1:0};
this._leftHandleMouseDelta=0;
if(this._resizeDir.west){
this._leftHandleMouseDelta=Math.abs($telerik.getBounds(_115).x-this._startX);
}
if(this._resizeDir.move){
var _116=this._raiseDragEvent("DragStart",null,e);
this._cancelResize=(_116==false);
}else{
this._raiseEvent("ResizeStart");
}
var _117=$telerik.getCurrentStyle(this._element.parentNode,"position");
var _118=("relative"==_117)||("absolute"==_117);
this._offsetLocation=_118?$telerik.getLocation(this._element.parentNode):null;
if(!this._cancelResize){
this._clearSelection();
this._setIframesVisible(false);
this._attachDocumentHandlers(false);
this._attachDocumentHandlers(true);
}
},_updateInnerTableSize:function(){
var dir=this._resizeDir;
if(dir.south||dir.north){
var _11a=this._element.style.height;
var _11b=this._tableElement;
if(_11b){
_11b.style.height=_11a;
this._fixIeHeight(_11b,_11a);
}
}
},_setIframesVisible:function(_11c){
var _11d=this._document.getElementsByTagName("IFRAME");
for(var i=0;i<_11d.length;i++){
_11d[i].style.visibility=_11c?"":"hidden";
}
},_configureHandleElements:function(_11f){
var _120=["nw","n","ne","w","e","sw","s","se",this._moveCursorType];
for(var i=0;i<_120.length;i++){
var _122=_120[i];
var _123=this._resizeHandles[_122];
if(_123){
if(_123 instanceof Array){
for(var j=0;j<_123.length;j++){
this._configureHandle("id"+i+"_"+j,_11f,_123[j],_122);
}
}else{
this._configureHandle("id"+i,_11f,_123,_122);
}
}
}
if(!_11f){
this._saveDelegates={};
}
},_configureHandle:function(_125,_126,_127,_128){
if(_126){
var _129=Function.createDelegate(this,this._onHandleMouseDown);
$telerik.addExternalHandler(_127,"mousedown",_129);
this._saveDelegates[_125]={delegate:_129,element:_127};
var _12a=(_128==this._moveCursorType?this._moveCursorType:_128+"-resize");
_127.style.cursor=_12a;
}else{
$telerik.removeExternalHandler(_127,"mousedown",this._saveDelegates[_125].delegate);
_127.style.cursor="";
}
},_attachDocumentHandlers:function(_12b){
var _12c=this._document;
if(true==_12b){
this._documentMouseMoveDelegate=Function.createDelegate(this,this._onDocumentMouseMove);
$telerik.addExternalHandler(_12c,"mousemove",this._documentMouseMoveDelegate);
this._documentMouseUpDelegate=Function.createDelegate(this,this._onDocumentMouseUp);
$telerik.addExternalHandler(_12c,"mouseup",this._documentMouseUpDelegate);
}else{
if(this._documentMouseMoveDelegate){
$telerik.removeExternalHandler(_12c,"mousemove",this._documentMouseMoveDelegate);
}
this._documentMouseMoveDelegate=null;
if(this._documentMouseUpDelegate){
$telerik.removeExternalHandler(_12c,"mouseup",this._documentMouseUpDelegate);
}
this._documentMouseUpDelegate=null;
}
},_onDocumentMouseMove:function(e){
var _12e=this._resize(e);
if(_12e){
return $telerik.cancelRawEvent(e);
}
},_onDocumentMouseUp:function(e){
var _130=!this._cancelResize;
this._cancelResize=true;
if(_130){
this._clearSelection();
this._setIframesVisible(true);
if(this._resizeDir&&this._resizeDir.move){
this._raiseDragEvent("DragEnd",null,e);
}else{
this._raiseEvent("ResizeEnd");
}
this._attachDocumentHandlers(false);
}
},_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(_132,_133){
if("CSS1Compat"==document.compatMode){
var _134=(_132.offsetHeight-parseInt(_133));
if(_134>0){
var _135=(parseInt(_132.style.height)-_134);
if(_135>0){
_132.style.height=_135+"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);
},updateLocation:function(){
this._show();
},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()+this._idCounter+(new Date()-100));
},_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);
$TWA.SequenceAnimation=function(_b4,_b5,fps,_b7,_b8){
$TWA.SequenceAnimation.initializeBase(this,[_b4,_b5,fps,_b7]);
this._handler=null;
this._paused=false;
this._playing=false;
this._index=0;
this._remainingIterations=0;
this._iterations=(_b8!==undefined)?_b8:1;
};
$TWA.SequenceAnimation.prototype={dispose:function(){
this._handler=null;
$TWA.SequenceAnimation.callBaseMethod(this,"dispose");
},stop:function(){
if(this._playing){
var _b9=this.get_animations();
if(this._index<_b9.length){
_b9[this._index].remove_ended(this._handler);
for(var i=this._index;i<_b9.length;i++){
_b9[i].stop();
}
}
this._playing=false;
this._paused=false;
this.raisePropertyChanged("isPlaying");
this.onEnd();
}
},pause:function(){
if(this.get_isPlaying()){
var _bb=this.get_animations()[this._index];
if(_bb!=null){
_bb.pause();
}
this._paused=true;
this.raisePropertyChanged("isPlaying");
}
},play:function(){
var _bc=this.get_animations();
if(!this._playing){
this._playing=true;
if(this._paused){
this._paused=false;
var _bd=_bc[this._index];
if(_bd!=null){
_bd.play();
this.raisePropertyChanged("isPlaying");
}
}else{
this.onStart();
this._index=0;
var _be=_bc[this._index];
if(_be){
_be.add_ended(this._handler);
_be.play();
this.raisePropertyChanged("isPlaying");
}else{
this.stop();
}
}
}
},onStart:function(){
$TWA.SequenceAnimation.callBaseMethod(this,"onStart");
this._remainingIterations=this._iterations-1;
if(!this._handler){
this._handler=Function.createDelegate(this,this._onEndAnimation);
}
},_onEndAnimation:function(){
var _bf=this.get_animations();
var _c0=_bf[this._index++];
if(_c0){
_c0.remove_ended(this._handler);
}
if(this._index<_bf.length){
var _c1=_bf[this._index];
_c1.add_ended(this._handler);
_c1.play();
}else{
if(this._remainingIterations>=1||this._iterations<=0){
this._remainingIterations--;
this._index=0;
var _c2=_bf[0];
_c2.add_ended(this._handler);
_c2.play();
}else{
this.stop();
}
}
},onStep:function(_c3){
throw Error.invalidOperation("CANNOT NEST");
},onEnd:function(){
this._remainingIterations=0;
$TWA.SequenceAnimation.callBaseMethod(this,"onEnd");
},get_isActive:function(){
return true;
},get_isPlaying:function(){
return this._playing&&!this._paused;
},get_iterations:function(){
return this._iterations;
},set_iterations:function(_c4){
_c4=this._getInteger(_c4);
if(this._iterations!=_c4){
this._iterations=_c4;
this.raisePropertyChanged("iterations");
}
},get_isInfinite:function(){
return this._iterations<=0;
}};
$TWA.SequenceAnimation.registerClass("Telerik.Web.Animation.SequenceAnimation",$TWA.ParentAnimation);
$TWA.registerAnimation("sequence",$TWA.SequenceAnimation);
$TWA.PulseAnimation=function(_c5,_c6,fps,_c8,_c9,_ca,_cb){
$TWA.PulseAnimation.initializeBase(this,[_c5,_c6,fps,null,((_c8!==undefined)?_c8:3)]);
this._out=new $TWA.FadeOutAnimation(_c5,_c6,fps,_c9,_ca,_cb);
this.add(this._out);
this._in=new $TWA.FadeInAnimation(_c5,_c6,fps,_c9,_ca,_cb);
this.add(this._in);
};
$TWA.PulseAnimation.prototype={get_minimumOpacity:function(){
return this._out.get_minimumOpacity();
},set_minimumOpacity:function(_cc){
_cc=this._getFloat(_cc);
this._out.set_minimumOpacity(_cc);
this._in.set_minimumOpacity(_cc);
this.raisePropertyChanged("minimumOpacity");
},get_maximumOpacity:function(){
return this._out.get_maximumOpacity();
},set_maximumOpacity:function(_cd){
_cd=this._getFloat(_cd);
this._out.set_maximumOpacity(_cd);
this._in.set_maximumOpacity(_cd);
this.raisePropertyChanged("maximumOpacity");
},get_forceLayoutInIE:function(){
return this._out.get_forceLayoutInIE();
},set_forceLayoutInIE:function(_ce){
_ce=this._getBoolean(_ce);
this._out.set_forceLayoutInIE(_ce);
this._in.set_forceLayoutInIE(_ce);
this.raisePropertyChanged("forceLayoutInIE");
},set_duration:function(_cf){
_cf=this._getFloat(_cf);
$TWA.PulseAnimation.callBaseMethod(this,"set_duration",[_cf]);
this._in.set_duration(_cf);
this._out.set_duration(_cf);
},set_fps:function(_d0){
_d0=this._getInteger(_d0);
$TWA.PulseAnimation.callBaseMethod(this,"set_fps",[_d0]);
this._in.set_fps(_d0);
this._out.set_fps(_d0);
}};
$TWA.PulseAnimation.registerClass("Telerik.Web.Animation.PulseAnimation",$TWA.SequenceAnimation);
$TWA.registerAnimation("pulse",$TWA.PulseAnimation);
Type.registerNamespace("Telerik.Web.UI.Animations");
Telerik.Web.UI.Animations.ShowHideAnimation=function(_d1,_d2,fps,_d4,_d5,_d6){
this.controller=_d1;
this._duration=(_d2!=null)?_d2:0.3;
this._fps=(fps!=null)?fps:50;
this._frames=_d2*fps;
this._position=null!=_d5?_d5:32;
this._animatedElement=_d4;
this._sourceElement=_d6;
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(_d7){
var _d8=(true==_d7)?this._hideAnimation:this._showAnimation;
if(_d8){
this.stop();
if(!_d8.__isTelerikModified){
var _d9=this;
_d8.__isTelerikModified=true;
var _da=_d8.onStart;
_d8.onStart=function(){
if(_d7){
_d9.onHideStart();
}else{
_d9.onShowStart();
}
if(true==_d7){
_d9._onBeforeHide();
}else{
_d9._onBeforeShow();
}
if(_da){
_da.call(this);
}
};
var _db=_d8.onEnd;
_d8.onEnd=function(){
if(_db){
_db.call(this);
}
if(_d9.onEnd){
_d9.onEnd(_d7);
}
if(true==_d7){
_d9._onAfterHide();
}else{
_d9._onAfterShow();
}
if(_d7){
_d9.onHideEnd();
}else{
_d9.onShowEnd();
}
};
}
_d8.set_duration(this._duration);
_d8.play();
}
this._runningAnimation=_d8;
},set_startBounds:function(_dc){
this._startBounds=_dc;
},set_endBounds:function(_dd){
this._endBounds=_dd;
},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;
}
},pause:function(){
if(this._runningAnimation){
this._runningAnimation.pause();
}
},resume:function(){
if(this._runningAnimation){
this._runningAnimation.play();
}
},set_position:function(_de){
this._position=_de;
},set_duration:function(_df){
this._duration=_df;
if(this._showAnimation){
this._showAnimation.set_duration(this._duration);
}
if(this._hideAnimation){
this._hideAnimation.set_duration(this._duration);
}
},get_startBounds:function(){
return this._startBounds;
},get_endBounds:function(){
return this._endBounds;
}};
Telerik.Web.UI.Animations.ShowHideAnimation.registerClass("Telerik.Web.UI.Animations.ShowHideAnimation",null);
Telerik.Web.UI.Animations.ResizeAnimation=function(_e0,_e1,fps,_e3,_e4,_e5){
Telerik.Web.UI.Animations.ResizeAnimation.initializeBase(this,[_e0,_e1,fps,_e3,_e4,_e5]);
var _e1=this._duration;
var fps=this._fps;
var _e6=this._animatedElement;
var _e7,_e8,_e9,_ea,_eb,_ec;
var _ed=new Telerik.Web.Animation.ResizeAnimation(_e6,_e1,fps,_e7,_e8,"px");
var _ee=new Telerik.Web.Animation.LengthAnimation(_e6,_e1,fps,"style","left",_eb,_ec,"px");
var _ef=new Telerik.Web.Animation.LengthAnimation(_e6,_e1,fps,"style","top",_e9,_ea,"px");
var _f0=new Telerik.Web.Animation.FadeInAnimation(_e6,_e1,fps,0.3,1,false);
this._showAnimation=new Telerik.Web.Animation.ParallelAnimation(_e6,_e1,fps,[_ed,_ee,_ef,_f0]);
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 _f1=this._animatedElement;
_f1.style.overflow="hidden";
_f1.style.display="";
_f1.style.visibility="visible";
_f1.style.width="1px";
_f1.style.height="1px";
},_configureAnimation:function(_f2){
var _f3=this._showAnimation.get_animations();
var _f4=_f3[0];
_f4.set_width(_f2.width);
_f4.set_height(_f2.height);
var _f5=_f3[1];
_f5.set_startValue(_f2.startX);
_f5.set_endValue(_f2.endX);
var _f6=_f3[2];
_f6.set_startValue(_f2.startY);
_f6.set_endValue(_f2.endY);
},_getStartBounds:function(){
var _f7=null;
if(this._startBounds){
_f7=this._startBounds;
}else{
if(this._sourceElement){
_f7=$telerik.getBounds(this._sourceElement);
}else{
_f7=new Sys.UI.Bounds(1,1,1,1);
}
}
return _f7;
},_getEndBounds:function(){
return this._endBounds;
},_modifyAnimationValues:function(_f8){
var _f9=this._animatedElement;
var _fa=this._getStartBounds();
if(_fa.width<_f8.width){
_f8.startX=_fa.x;
_f9.style.width=_fa.width;
}
if(_fa.height<_f8.height){
_f8.startY=_fa.y;
_f9.style.height=_fa.height;
}
},_setHorizontalValues:function(_fb){
var _fc=this._getHorizontalPosition();
var _fd=this._getEndBounds();
switch(_fc){
case 2:
_fb.startX=_fd.x+Math.floor(_fd.width/2);
_fb.endX=_fd.x;
break;
case 3:
_fb.startX=_fd.x;
_fb.endX=_fd.x;
break;
case 1:
_fb.startX=_fd.x+_fd.width;
_fb.endX=_fd.x;
}
},_setVerticalValues:function(_fe){
var _ff=this._getVerticalPosition();
var _100=this._getEndBounds();
switch(_ff){
case 2:
_fe.startY=_100.y+Math.floor(_100.height/2);
_fe.endY=_100.y;
break;
case 1:
_fe.startY=_100.y+_100.height;
_fe.endY=_100.y;
break;
case 3:
_fe.startY=_100.y;
_fe.endY=_100.y;
}
},_setSizeValues:function(_101){
var _102=this._endBounds;
_101["width"]=_102.width;
_101["height"]=_102.height;
},_onBeforeShow:function(){
var _103={};
this._setHorizontalValues(_103);
this._setVerticalValues(_103);
this._setSizeValues(_103);
this._configureAnimatedElement();
this._modifyAnimationValues(_103);
this._configureAnimation(_103);
},_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(_104,_105,fps,_107,_108,_109){
Telerik.Web.UI.Animations.SlideAnimation.initializeBase(this,[_104,_105,fps,_107,_108,_109]);
};
Telerik.Web.UI.Animations.SlideAnimation.prototype={_modifyAnimationValues:function(_10a){
},_configureAnimatedElement:function(){
var _10b=this._animatedElement;
_10b.style.overflow="hidden";
_10b.style.display="";
_10b.style.visibility="visible";
var _10c=this._getVerticalPosition();
if(_10c==2){
_10b.style.width="1px";
}else{
_10b.style.height="1px";
}
},_setHorizontalValues:function(_10d){
var _10e=this._getHorizontalPosition();
var _10f=this._getEndBounds();
switch(_10e){
case 2:
_10d.startX=_10f.x;
_10d.endX=_10f.x;
break;
case 3:
_10d.startX=_10f.x;
_10d.endX=_10f.x;
break;
case 1:
var _110=_10f.x;
if(2==this._getVerticalPosition()){
_110+=_10f.width;
}
_10d.startX=_110;
_10d.endX=_10f.x;
}
},_setVerticalValues:function(_111){
var _112=this._getVerticalPosition();
var _113=this._getEndBounds();
switch(_112){
case 2:
_111.startY=_113.y;
_111.endY=_113.y;
break;
case 1:
_111.startY=_113.y+_113.height;
_111.endY=_113.y;
break;
case 3:
_111.startY=_113.y;
_111.endY=_113.y;
}
}};
Telerik.Web.UI.Animations.SlideAnimation.registerClass("Telerik.Web.UI.Animations.SlideAnimation",Telerik.Web.UI.Animations.ResizeAnimation);
Telerik.Web.UI.Animations.FlyInAnimation=function(_114,_115,fps,_117,_118,_119){
Telerik.Web.UI.Animations.FlyInAnimation.initializeBase(this,[_114,_115,fps,_117,_118,_119]);
};
Telerik.Web.UI.Animations.FlyInAnimation.prototype={_modifyAnimationValues:function(_11a){
},_setHorizontalValues:function(_11b){
var _11c=this._getHorizontalPosition();
var _11d=this._getEndBounds();
var _11e=$telerik.getClientBounds();
switch(_11c){
case 2:
_11b.startX=_11d.x;
_11b.endX=_11d.x;
break;
case 3:
_11b.startX=_11e.width;
_11b.endX=_11d.x;
break;
case 1:
_11b.startX=_11e.x;
_11b.endX=_11d.x;
}
},_setVerticalValues:function(_11f){
var _120=this._getVerticalPosition();
var _121=this._getEndBounds();
var _122=$telerik.getClientBounds();
switch(_120){
case 2:
_11f.startY=_121.y;
_11f.endY=_121.y;
break;
case 1:
_11f.startY=_122.y-_121.height;
_11f.endY=_121.y;
break;
case 3:
_11f.startY=_122.height;
_11f.endY=_121.y;
}
}};
Telerik.Web.UI.Animations.FlyInAnimation.registerClass("Telerik.Web.UI.Animations.FlyInAnimation",Telerik.Web.UI.Animations.ResizeAnimation);
Telerik.Web.UI.Animations.FadeAnimation=function(_123,_124,fps,_126){
Telerik.Web.UI.Animations.FadeAnimation.initializeBase(this,[_123,_124,fps,_126]);
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);
Telerik.Web.UI.Animations.SimpleResizeAnimation=function(_127,_128,fps,_12a,_12b,_12c){
Telerik.Web.UI.Animations.SimpleResizeAnimation.initializeBase(this,[_127,_128,fps,_12a,_12b,_12c]);
};
Telerik.Web.UI.Animations.SimpleResizeAnimation.prototype={_modifyAnimationValues:function(_12d){
},_configureAnimation:function(_12e){
Telerik.Web.UI.Animations.SimpleResizeAnimation.callBaseMethod(this,"_configureAnimation",[_12e]);
var _12f=this._showAnimation.get_animations();
var _130=_12f[0];
var _131=this._getStartBounds();
_130.onStart=function(){
$TWA.ResizeAnimation.callBaseMethod(this,"onStart");
var _132=this.get_target();
this._horizontalAnimation.set_startValue(_131.width);
this._verticalAnimation.set_startValue(_131.height);
this._horizontalAnimation.set_endValue((this._width!==null&&this._width!==undefined)?this._width:_132.offsetWidth);
this._verticalAnimation.set_endValue((this._height!==null&&this._height!==undefined)?this._height:_132.offsetHeight);
};
},_configureAnimatedElement:function(){
var _133=this._animatedElement;
_133.style.overflow="hidden";
_133.style.display="";
_133.style.visibility="visible";
},_setHorizontalValues:function(_134){
var _135=this._getHorizontalPosition();
var _136=this._getStartBounds();
var _137=this._getEndBounds();
_134.startX=_136.x;
_134.endX=_137.x;
},_setVerticalValues:function(_138){
var _139=this._getVerticalPosition();
var _13a=this._getStartBounds();
var _13b=this._getEndBounds();
_138.startY=_13a.y;
_138.endY=_13b.y;
}};
Telerik.Web.UI.Animations.SimpleResizeAnimation.registerClass("Telerik.Web.UI.Animations.SimpleResizeAnimation",Telerik.Web.UI.Animations.ResizeAnimation);
Telerik.Web.UI.Animations.ScrollAnimation=function(_13c,_13d,fps,_13f,_140,_141){
Telerik.Web.UI.Animations.ScrollAnimation.initializeBase(this,[_13c,_13d,fps,_13f,_140,_141]);
var _142=this._showAnimation.get_animations();
if(_142[3]){
this._showAnimation.remove(_142[3]);
}
};
Telerik.Web.UI.Animations.ScrollAnimation.prototype={_modifyAnimationValues:function(_143){
},_configureAnimatedElement:function(){
},_setHorizontalValues:function(_144){
var _145=this._getStartBounds();
var _146=this._getEndBounds();
var _147=this._getHorizontalPosition();
switch(_147){
case 2:
_144.startX=_145.x;
_144.endX=_145.x;
break;
case 3:
_144.startX=_145.x;
_144.endX=_145.x+_146.x;
break;
case 1:
_144.startX=_145.x;
_144.endX=_145.x-_146.x;
}
},_setVerticalValues:function(_148){
var _149=this._getVerticalPosition();
var _14a=this._getStartBounds();
var _14b=this._getEndBounds();
switch(_149){
case 2:
_148.startY=_14b.y;
_148.endY=_14b.y;
break;
case 1:
_148.startY=_14a.y;
_148.endY=_14a.y-_14b.y;
break;
case 3:
_148.startY=_14a.y;
_148.endY=_14a.y+_14b.y;
}
}};
Telerik.Web.UI.Animations.ScrollAnimation.registerClass("Telerik.Web.UI.Animations.ScrollAnimation",Telerik.Web.UI.Animations.ResizeAnimation);


/* END Telerik.Web.UI.Common.Animation.AnimationScripts.js */
/* START Telerik.Web.UI.Common.Scrolling.ScrollingScripts.js */
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ScrollerOrientation=function(){
};
Telerik.Web.UI.ScrollerOrientation.prototype={Vertical:0,Horizontal:1};
Telerik.Web.UI.ScrollerOrientation.registerEnum("Telerik.Web.UI.ScrollerOrientation");
Telerik.Web.UI.ScrollerSpeed=function(){
};
Telerik.Web.UI.ScrollerSpeed.prototype={Invalid:0,Slow:1,Medium:2,Fast:3};
Telerik.Web.UI.ScrollerSpeed.registerEnum("Telerik.Web.UI.ScrollerSpeed");
Telerik.Web.UI.ArrowPosition=function(){
};
Telerik.Web.UI.ArrowPosition.prototype={Top:0,Bottom:1,Left:2,Right:3};
Telerik.Web.UI.ArrowPosition.registerEnum("Telerik.Web.UI.ArrowPosition");
Telerik.Web.UI.Scroller=function(_1,_2,_3){
this._timerInterval=10;
this._scrolledElement=_1;
this._element=_2;
this._orientation=_3;
this._minPosition=0;
this._maxPosition=null;
this._currentPosition=0;
this._speed=Telerik.Web.UI.ScrollerSpeed.Invalid;
this._direction=0;
this._events=null;
this._timer=null;
this._onTickDelegate=null;
};
Telerik.Web.UI.Scroller.prototype={initialize:function(){
this._onTickDelegate=Function.createDelegate(this,this._onTick);
this._timer=new Telerik.Web.Timer();
this._timer.set_interval(this._timerInterval);
this._timer.add_tick(this._onTickDelegate);
},dispose:function(){
if(this._timer){
this._timer.dispose();
}
this._onTickDelegate=null;
this._events=null;
},get_element:function(){
return this._element;
},get_events:function(){
if(!this._events){
this._events=new Sys.EventHandlerList();
}
return this._events;
},add_positionChanged:function(_4){
this.get_events().addHandler("positionChanged",_4);
},remove_positionChanged:function(_5){
this.get_events().removeHandler("positionChanged",_5);
},setScrollingLimits:function(_6,_7){
this._minPosition=Math.max(0,_6);
this._maxPosition=Math.min(this._getElementSize(),_7);
},isAtMinPosition:function(){
return this._currentPosition<=this._minPosition;
},isAtMaxPosition:function(){
return this._currentPosition>=this._maxPosition;
},resetState:function(){
this._resetOverflowStyle();
this._scrollTo(0);
},startScroll:function(_8,_9){
this._speed=_8;
this._direction=_9;
this._timer.set_enabled(true);
},changeScrollSpeed:function(_a){
this._speed=_a;
},stopScroll:function(){
this._speed=Telerik.Web.UI.ScrollerSpeed.Invalid;
this._direction=0;
this._timer.set_enabled(false);
},_onTick:function(){
var _b=this._currentPosition+(this._direction*this._speed);
_b=Math.max(_b,this._minPosition);
_b=Math.min(_b,this._maxPosition);
this._scrollTo(_b);
if(_b==this._minPosition||_b==this._maxPosition){
this.stopScroll();
}
},_scrollTo:function(_c){
var _d="left";
if(this._orientation==Telerik.Web.UI.ScrollerOrientation.Vertical){
_d="top";
}
this._currentPosition=_c;
this._scrolledElement.style[_d]=-_c+"px";
this._raiseEvent("positionChanged",Sys.EventArgs.Empty);
},_resetOverflowStyle:function(){
if($telerik.isIE){
this._element.style.overflow="visible";
if(this._orientation==Telerik.Web.UI.ItemFlow.Vertical){
this._element.style.overflowX="visible";
this._element.style.overflowY="hidden";
}else{
this._element.style.overflowX="hidden";
this._element.style.overflowY="hidden";
}
}else{
this._element.style.overflow="hidden";
}
},_getElementSize:function(){
if(this._orientation==Telerik.Web.UI.ScrollerOrientation.Vertical){
return this._scrolledElement.offsetHeight;
}else{
return this._scrolledElement.offsetWidth;
}
},_raiseEvent:function(_e,_f){
var _10=this.get_events().getHandler(_e);
if(_10){
if(!_f){
_f=Sys.EventArgs.Empty;
}
_10(this,_f);
}
}};
Telerik.Web.UI.Scroller.registerClass("Telerik.Web.UI.Scroller",null,Sys.IDisposable);


/* END Telerik.Web.UI.Common.Scrolling.ScrollingScripts.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();
}
}
}
},findControl:function(id){
return $telerik.findControl(this.get_element(),id);
},get_attributes:function(){
return this._attributes;
},get_element:function(){
return this._element;
},set_element:function(_c2){
this._element=_c2;
this._element._item=this;
this._element._itemTypeName=Object.getTypeName(this);
},get_parent:function(){
return this._parent;
},set_parent:function(_c3){
this._parent=_c3;
},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 _c4=this.get_textElement();
if(!_c4){
return "";
}
if(typeof (_c4.innerText)!="undefined"){
this._text=_c4.innerText;
}else{
this._text=_c4.textContent;
}
if($telerik.isSafari2){
this._text=_c4.innerHTML;
}
return this._text;
},set_text:function(_c5){
var _c6=this.get_textElement();
if(_c6){
_c6.innerHTML=_c5;
}
this._text=_c5;
this._properties.setValue("text",_c5,true);
},get_value:function(){
return this._properties.getValue("value",null);
},set_value:function(_c7){
this._properties.setValue("value",_c7,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(_c8){
this._properties.setValue("enabled",_c8,true);
},get_enabled:function(){
return this._properties.getValue("enabled",true)==true;
},get_isEnabled:function(){
var _c9=this._getControl();
if(_c9){
return _c9.get_enabled()&&this.get_enabled();
}
return this.get_enabled();
},set_visible:function(_ca){
this._properties.setValue("visible",_ca);
},get_visible:function(){
return this._properties.getValue("visible",true);
},get_level:function(){
var _cb=this.get_parent();
var _cc=0;
while(_cb){
if(Telerik.Web.UI.ControlItemContainer.isInstanceOfType(_cb)){
return _cc;
}
_cc++;
_cb=_cb.get_parent();
}
return _cc;
},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 _cd=[];
var _ce=this;
while(!Telerik.Web.UI.ControlItemContainer.isInstanceOfType(_ce)){
Array.insert(_cd,0,_ce.get_index());
_ce=_ce.get_parent();
}
return _cd.join(":");
},_getChildren:function(){
this._ensureChildControls();
return this._children;
},_ensureChildControls:function(){
if(!this._childControlsCreated){
this._createChildControls();
this._childControlsCreated=true;
}
},_setCssClass:function(_cf,_d0){
if(_cf.className!=_d0){
_cf.className=_d0;
}
},_createChildControls:function(){
this._children=this._createItemCollection();
},_createItemCollection:function(){
},_getControl:function(){
if(!this._control){
var _d1=this.get_parent();
if(_d1){
if(Telerik.Web.UI.ControlItemContainer.isInstanceOfType(_d1)){
this._control=_d1;
}else{
this._control=_d1._getControl();
}
}
}
return this._control;
},_getAllItems:function(){
var _d2=[];
this._getAllItemsRecursive(_d2,this);
return _d2;
},_getAllItemsRecursive:function(_d3,_d4){
var _d5=_d4._getChildren();
for(var i=0;i<_d5.get_count();i++){
var _d7=_d5.getItem(i);
Array.add(_d3,_d7);
this._getAllItemsRecursive(_d3,_d7);
}
},_getData:function(){
var _d8=this._properties._data;
delete _d8.items;
_d8["text"]=this.get_text();
if(this.get_attributes().get_count()>0){
_d8["attributes"]=this.get_attributes()._data;
}
return _d8;
},_notifyPropertyChanged:function(_d9,_da){
var _db=this._getControl();
if(_db){
_db._itemPropertyChanged(this,_d9,_da);
}
},_loadFromDictionary:function(_dc){
if(typeof (_dc.Text)!="undefined"){
this.set_text(_dc.Text);
}
if(typeof (_dc.Value)!="undefined"&&_dc.Value!==""){
this.set_value(_dc.Value);
}
if(typeof (_dc.Enabled)!="undefined"&&_dc.Enabled!==true){
this.set_enabled(_dc.Enabled);
}
var _dd=this.get_attributes();
for(var _de in _dc.Attributes){
_dd.setAttribute(_de,_dc.Attributes[_de]);
}
},_createDomElement:function(){
var _df=document.createElement("ul");
var _e0=[];
this._render(_e0);
_df.innerHTML=_e0.join("");
return _df.firstChild;
}};
Telerik.Web.UI.ControlItem.registerClass("Telerik.Web.UI.ControlItem");
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ControlItemCollection=function(_e1){
this._array=new Array();
this._parent=_e1;
this._control=null;
};
Telerik.Web.UI.ControlItemCollection.prototype={add:function(_e2){
var _e3=this._array.length;
this.insert(_e3,_e2);
},insert:function(_e4,_e5){
var _e6=_e5.get_parent();
var _e7=this._parent._getControl();
if(_e6){
_e6._getChildren().remove(_e5);
}
if(_e7){
_e7._childInserting(_e4,_e5,this._parent);
}
Array.insert(this._array,_e4,_e5);
_e5.set_parent(this._parent);
if(_e7){
_e7._childInserted(_e4,_e5,this._parent);
_e7._logInserted(_e5);
}
},remove:function(_e8){
var _e9=this._parent._getControl();
if(_e9){
_e9._childRemoving(_e8);
}
Array.remove(this._array,_e8);
if(_e9){
_e9._childRemoved(_e8,this._parent);
}
_e8.set_parent(null);
_e8._control=null;
},removeAt:function(_ea){
var _eb=this.getItem(_ea);
if(_eb){
this.remove(_eb);
}
},clear:function(){
var _ec=this._parent._getControl();
if(_ec){
_ec._logClearing(this._parent);
_ec._childrenCleared(this._parent);
}
this._array=new Array();
},get_count:function(){
return this._array.length;
},getItem:function(_ed){
return this._array[_ed];
},indexOf:function(_ee){
return Array.indexOf(this._array,_ee);
},forEach:function(_ef){
for(var i=0,_f1=this.get_count();i<_f1;i++){
_ef(this._array[i]);
}
}};
Telerik.Web.UI.ControlItemCollection.registerClass("Telerik.Web.UI.ControlItemCollection");
function WebForm_CallbackComplete(){
for(var i=0;i<__pendingCallbacks.length;i++){
var _f3=__pendingCallbacks[i];
if(_f3&&_f3.xmlRequest&&(_f3.xmlRequest.readyState==4)){
__pendingCallbacks[i]=null;
WebForm_ExecuteCallback(_f3);
if(!_f3.async){
__synchronousCallBackIndex=-1;
}
var _f4="__CALLBACKFRAME"+i;
var _f5=document.getElementById(_f4);
if(_f5){
_f5.parentNode.removeChild(_f5);
}
}
}
}
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ControlItemContainer=function(_f6){
Telerik.Web.UI.ControlItemContainer.initializeBase(this,[_f6]);
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._initializeEventMap();
},dispose:function(){
this._eventMap.dispose();
if(this._childControlsCreated){
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(_f8){
this._enabled=_f8;
},get_enabled:function(){
return this._enabled;
},commitChanges:function(){
this.updateClientState();
this._enableClientStatePersistence=false;
},get_attributes:function(){
return this._attributes;
},set_attributes:function(_f9){
this._attributes._load(_f9);
},_initializeEventMap:function(){
this._eventMap.initialize(this);
},_getChildren:function(){
this._ensureChildControls();
return this._children;
},_extractErrorMessage:function(_fa){
if(_fa.get_message){
return _fa.get_message();
}else{
return _fa.replace(/(\d*\|.*)/,"");
}
},_notifyPropertyChanged:function(_fb,_fc){
},_childInserting:function(_fd,_fe,_ff){
},_childInserted:function(_100,item,_102){
if(!_102._childControlsCreated){
return;
}
if(!_102.get_element()){
return;
}
itemElement=item._createDomElement();
var _103=_102.get_childListElement();
if(!_103){
_103=_102._createChildListElement();
}
var _104=item.get_nextSibling();
var _105=_104?_104.get_element():null;
_102.get_childListElement().insertBefore(itemElement,_105);
if(!item.get_element()){
item.set_element(itemElement);
item._initializeRenderedItem();
}else{
item.set_element(itemElement);
}
},_childrenCleared:function(_106){
for(var i=0;i<_106._getChildren().get_count();i++){
_106._getChildren().getItem(i)._dispose();
}
var _108=_106.get_childListElement();
if(_108){
_108.innerHTML="";
}
},_childRemoving:function(_109){
this._logRemoving(_109);
},_childRemoved:function(item,_10b){
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 _10d=item._getAllItems();
for(var i=0;i<_10d.length;i++){
this._log.logInsert(_10d[i]);
}
},_logRemoving:function(item){
if(this._enableClientStatePersistence){
this._log.logDelete(item);
}
},_logClearing:function(item){
if(this._enableClientStatePersistence){
this._log.logClear(item);
}
},_itemPropertyChanged:function(item,_112,_113){
if(this._enableClientStatePersistence){
this._log.logPropertyChanged(item,_112,_113);
}
},_ensureChildControls:function(){
if(!this._childControlsCreated){
this._createChildControls();
this._childControlsCreated=true;
}
},_extractItemFromDomElement:function(_114){
this._ensureChildControls();
while(_114&&_114.nodeType!==9){
if(_114._item&&this._verifyChildType(_114._itemTypeName)){
return _114._item;
}
_114=_114.parentNode;
}
return null;
},_verifyChildType:function(_115){
return _115===this._childTypeName;
},_getAllItems:function(){
var _116=[];
for(var i=0;i<this._getChildren().get_count();i++){
var item=this._getChildren().getItem(i);
Array.add(_116,item);
Array.addRange(_116,item._getAllItems());
}
return _116;
},_findItemByText:function(text){
var _11a=this._getAllItems();
for(var i=0;i<_11a.length;i++){
if(_11a[i].get_text()==text){
return _11a[i];
}
}
return null;
},_findItemByValue:function(_11c){
var _11d=this._getAllItems();
for(var i=0;i<_11d.length;i++){
if(_11d[i].get_value()==_11c){
return _11d[i];
}
}
return null;
},_findItemByAttribute:function(_11f,_120){
var _121=this._getAllItems();
for(var i=0;i<_121.length;i++){
if(_121[i].get_attributes().getAttribute(_11f)==_120){
return _121[i];
}
}
return null;
},_findItemByHierarchicalIndex:function(_123){
var _124=null;
var _125=this;
var _126=_123.split(":");
for(var i=0;i<_126.length;i++){
var _128=parseInt(_126[i]);
if(_125._getChildren().get_count()<=_128){
return null;
}
_124=_125._getChildren().getItem(_128);
_125=_124;
}
return _124;
}};
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;
this._browserHandlers={};
};
Telerik.Web.UI.EventMap.prototype={initialize:function(_129,_12a){
this._owner=_129;
if(!_12a){
_12a=this._owner.get_element();
}
this._element=_12a;
},dispose:function(){
if(this._onDomEventDelegate){
for(var _12b in this._eventMap){
if(this._shouldUseEventCapture(_12b)){
var _12c=this._browserHandlers[_12b];
this._element.removeEventListener(_12b,_12c,true);
}else{
$removeHandler(this._element,_12b,this._onDomEventDelegate);
}
}
this._onDomEventDelegate=null;
}
},addHandlerForClassName:function(_12d,_12e,_12f){
if(typeof (this._eventMap[_12d])=="undefined"){
this._eventMap[_12d]={};
if(this._shouldUseEventCapture(_12d)){
var _130=this._getDomEventDelegate();
var _131=this._element;
var _132=function(e){
return _130.call(_131,new Sys.UI.DomEvent(e));
};
this._browserHandlers[_12d]=_132;
_131.addEventListener(_12d,_132,true);
}else{
$addHandler(this._element,_12d,this._getDomEventDelegate());
}
}
var _134=this._eventMap[_12d];
_134[_12e]=_12f;
},_onDomEvent:function(e){
var _136=this._eventMap[e.type];
if(!_136){
return;
}
var _137=e.target;
while(_137&&_137.nodeType!==9){
var _138=_137.className;
var _139=_138.indexOf(" ");
if(_139>=0){
_138=_138.substr(0,_139);
}
var _13a=_136[_138];
if(_13a){
this._fillEventFields(e,_137);
if(_13a.call(this._owner,e)!=true){
if(!_137.parentNode){
e.stopPropagation();
}
return;
}
}
if(_137==this._element){
return;
}
_137=_137.parentNode;
}
},_fillEventFields:function(e,_13c){
e.eventMapTarget=_13c;
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 _13d=e.eventMapRelatedTarget.className;
}
catch(ex){
e.eventMapRelatedTarget=this._element;
}
},_shouldUseEventCapture:function(_13e){
return (_13e=="blur"||_13e=="focus")&&$telerik.isFirefox&&Sys.Browser.version>=3;
},_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(_13f){
this._targetElement=_13f;
this._element=null;
};
Telerik.Web.UI.Overlay.IsSupported=function(){
return $telerik.isIE;
};
Telerik.Web.UI.Overlay.prototype={initialize:function(){
var _140=document.createElement("div");
_140.innerHTML="<iframe>Your browser does not support inline frames or is currently configured not to display inline frames.</iframe>";
this._element=_140.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;
if(!$telerik.isSafari){
_140.outerHTML=null;
}
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(_141){
this._targetElement=_141;
},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(_142){
if(!_142){
return "0px";
}
return parseInt(_142)+"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(_143){
var _144=this._events.getHandler("beforePostback");
if(_144){
if(!_143){
_143=Sys.EventArgs.Empty;
}
_144(this,_143);
}
this._postbackEventRaised=true;
},_doPostback:function(_145,_146){
this._raiseBeforePostback(Sys.EventArgs.Empty);
this._originalDoPostBack(_145,_146);
},_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(_147){
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",_147);
},remove_beforePostback:function(_148){
this._events.removeHandler("beforePostback",_148);
},_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(_149){
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(_14a,_14b,_14c,_14d){
this._fps=60;
this._animatedElement=_14a;
this._element=_14a.parentNode;
this._expandAnimation=_14b;
this._collapseAnimation=_14c;
this._direction=Telerik.Web.UI.SlideDirection.Down;
this._animation=null;
this._expanding=null;
if(_14d==null){
this._enableOverlay=true;
}else{
this._enableOverlay=_14d;
}
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 _14e=this.get_animatedElement();
this._overlay=new Telerik.Web.UI.Overlay(_14e);
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(_14f){
this._animatedElement=_14f;
if(this._overlay){
this._overlay.set_targetElement(this._animatedElement);
}
},get_direction:function(){
return this._direction;
},set_direction:function(_150){
this._direction=_150;
},get_events:function(){
if(!this._events){
this._events=new Sys.EventHandlerList();
}
return this._events;
},updateSize:function(){
var _151=this.get_animatedElement();
var _152=this.get_element();
var top=0;
if(_151.style.top){
top=Math.max(parseInt(_151.style.top),0);
}
var left=0;
if(_151.style.left){
left=Math.max(parseInt(_151.style.left),0);
}
var _155=_151.offsetHeight+top;
if(_152.style.height!=_155+"px"){
_152.style.height=Math.max(_155,0)+"px";
}
var _156=_151.offsetWidth+left;
if(_152.style.width!=_156+"px"){
_152.style.width=Math.max(_156,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 _157=null;
var _158=null;
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Left:
_157=parseInt(this._getSize());
_158=0;
break;
case Telerik.Web.UI.SlideDirection.Down:
case Telerik.Web.UI.SlideDirection.Right:
_157=parseInt(this._getPosition());
_158=0;
break;
}
if(this._animation){
this._animation.stop();
}
if((_157==_158)||(this._expandAnimation.get_type()==Telerik.Web.UI.AnimationType.None)){
this._expandAnimationStarted();
this._setPosition(_158);
this._animationEnded();
this.get_animatedElement().style.visibility="visible";
}else{
this._playAnimation(this._expandAnimation,_157,_158);
}
},collapse:function(){
this._resetState();
this._expanding=false;
var _159=null;
var _15a=null;
var size=parseInt(this._getSize());
var _15c=parseInt(this._getPosition());
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Left:
_159=0;
_15a=size;
break;
case Telerik.Web.UI.SlideDirection.Down:
case Telerik.Web.UI.SlideDirection.Right:
_159=0;
_15a=_15c-size;
break;
}
if(this._animation){
this._animation.stop();
}
if((_159==_15a)||(this._collapseAnimation.get_type()==Telerik.Web.UI.AnimationType.None)){
this._setPosition(_15a);
this._animationEnded();
}else{
this._playAnimation(this._collapseAnimation,_159,_15a);
}
},add_collapseAnimationEnded:function(_15d){
this.get_events().addHandler("collapseAnimationEnded",_15d);
},remove_collapseAnimationEnded:function(_15e){
this.get_events().removeHandler("collapseAnimationEnded",_15e);
},add_expandAnimationEnded:function(_15f){
this.get_events().addHandler("expandAnimationEnded",_15f);
},remove_expandAnimationEnded:function(_160){
this.get_events().removeHandler("expandAnimationEnded",_160);
},add_expandAnimationStarted:function(_161){
this.get_events().addHandler("expandAnimationStarted",_161);
},remove_expandAnimationStarted:function(_162){
this.get_events().removeHandler("expandAnimationStarted",_162);
},_playAnimation:function(_163,_164,_165){
var _166=_163.get_duration();
var _167=this._getAnimatedStyleProperty();
var _168=Telerik.Web.UI.AnimationFunctions.CalculateAnimationPoints(_163,_164,_165,this._fps);
var _169=this.get_animatedElement();
_169.style.visibility="visible";
if(this._animation){
this._animation.set_target(_169);
this._animation.set_duration(_166/1000);
this._animation.set_propertyKey(_167);
this._animation.set_values(_168);
}else{
this._animation=new $TWA.DiscreteAnimation(_169,_166/1000,this._fps,"style",_167,_168);
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 _16a=this.get_animatedElement();
var _16b=this.get_element();
if(!_16b){
return;
}
if(!_16b.style){
return;
}
_16b.style.display=(_16b.tagName.toUpperCase()!="TABLE")?"block":"";
_16a.style.display=(_16a.tagName.toUpperCase()!="TABLE")?"block":"";
_16b.style.overflow="hidden";
},_resetState:function(_16c){
this._stopAnimation();
this._showElement();
if(_16c){
var _16d=this.get_animatedElement();
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
_16d.style.top="0px";
break;
case Telerik.Web.UI.SlideDirection.Down:
_16d.style.top=-_16d.offsetHeight+"px";
break;
case Telerik.Web.UI.SlideDirection.Left:
_16d.style.left=_16d.offsetWidth+"px";
break;
case Telerik.Web.UI.SlideDirection.Right:
_16d.style.left=-_16d.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 _16e=this.get_animatedElement();
switch(this.get_direction()){
case Telerik.Web.UI.SlideDirection.Up:
case Telerik.Web.UI.SlideDirection.Down:
return _16e.offsetHeight;
break;
case Telerik.Web.UI.SlideDirection.Left:
case Telerik.Web.UI.SlideDirection.Right:
return _16e.offsetWidth;
break;
default:
return 0;
}
},_setPosition:function(_16f){
var _170=this.get_animatedElement();
var _171=this._getAnimatedStyleProperty();
_170.style[_171]=_16f;
},_getPosition:function(){
var _172=this.get_animatedElement();
var _173=this._getAnimatedStyleProperty();
return _172.style[_173];
},_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(_174,_175){
var _176=this.get_events().getHandler(_174);
if(_176){
if(!_175){
_175=Sys.EventArgs.Empty;
}
_176(this,_175);
}
}};
Telerik.Web.UI.Slide.registerClass("Telerik.Web.UI.Slide",null,Sys.IDisposable);


/* END Telerik.Web.UI.Common.Navigation.NavigationScripts.js */
/* START Telerik.Web.UI.Menu.RadMenuScripts.js */
Telerik.Web.UI.RadMenuItemEventArgs=function(_1,_2){
Telerik.Web.UI.RadMenuItemEventArgs.initializeBase(this);
this._item=_1;
this._domEvent=_2||null;
};
Telerik.Web.UI.RadMenuItemEventArgs.prototype={get_item:function(){
return this._item;
},get_domEvent:function(){
return this._domEvent;
}};
Telerik.Web.UI.RadMenuItemEventArgs.registerClass("Telerik.Web.UI.RadMenuItemEventArgs",Sys.EventArgs);
Telerik.Web.UI.RadMenuItemCancelEventArgs=function(_3,_4){
Telerik.Web.UI.RadMenuItemCancelEventArgs.initializeBase(this);
this._item=_3;
this._domEvent=_4||null;
};
Telerik.Web.UI.RadMenuItemCancelEventArgs.prototype={get_item:function(){
return this._item;
},get_domEvent:function(){
return this._domEvent;
}};
Telerik.Web.UI.RadMenuItemCancelEventArgs.registerClass("Telerik.Web.UI.RadMenuItemCancelEventArgs",Sys.CancelEventArgs);
Telerik.Web.UI.RadMenuMouseOverEventArgs=function(_5,_6){
Telerik.Web.UI.RadMenuMouseOverEventArgs.initializeBase(this,[_5,_6||null]);
};
Telerik.Web.UI.RadMenuMouseOverEventArgs.registerClass("Telerik.Web.UI.RadMenuMouseOverEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuMouseOutEventArgs=function(_7,_8){
Telerik.Web.UI.RadMenuMouseOutEventArgs.initializeBase(this,[_7,_8||null]);
};
Telerik.Web.UI.RadMenuMouseOutEventArgs.registerClass("Telerik.Web.UI.RadMenuMouseOutEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemFocusEventArgs=function(_9,_a){
Telerik.Web.UI.RadMenuItemFocusEventArgs.initializeBase(this,[_9,_a||null]);
};
Telerik.Web.UI.RadMenuItemFocusEventArgs.registerClass("Telerik.Web.UI.RadMenuItemFocusEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemBlurEventArgs=function(_b,_c){
Telerik.Web.UI.RadMenuItemBlurEventArgs.initializeBase(this,[_b,_c||null]);
};
Telerik.Web.UI.RadMenuItemBlurEventArgs.registerClass("Telerik.Web.UI.RadMenuItemBlurEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemClickingEventArgs=function(_d,_e){
Telerik.Web.UI.RadMenuItemClickingEventArgs.initializeBase(this,[_d,_e||null]);
};
Telerik.Web.UI.RadMenuItemClickingEventArgs.registerClass("Telerik.Web.UI.RadMenuItemClickingEventArgs",Telerik.Web.UI.RadMenuItemCancelEventArgs);
Telerik.Web.UI.RadMenuItemClickedEventArgs=function(_f,_10){
Telerik.Web.UI.RadMenuItemClickedEventArgs.initializeBase(this,[_f,_10||null]);
};
Telerik.Web.UI.RadMenuItemClickedEventArgs.registerClass("Telerik.Web.UI.RadMenuItemClickedEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemOpeningEventArgs=function(_11,_12){
Telerik.Web.UI.RadMenuItemOpeningEventArgs.initializeBase(this,[_11,_12||null]);
};
Telerik.Web.UI.RadMenuItemOpeningEventArgs.registerClass("Telerik.Web.UI.RadMenuItemOpeningEventArgs",Telerik.Web.UI.RadMenuItemCancelEventArgs);
Telerik.Web.UI.RadMenuItemOpenedEventArgs=function(_13,_14){
Telerik.Web.UI.RadMenuItemOpenedEventArgs.initializeBase(this,[_13,_14||null]);
};
Telerik.Web.UI.RadMenuItemOpenedEventArgs.registerClass("Telerik.Web.UI.RadMenuItemOpenedEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemClosingEventArgs=function(_15,_16){
Telerik.Web.UI.RadMenuItemClosingEventArgs.initializeBase(this,[_15,_16||null]);
};
Telerik.Web.UI.RadMenuItemClosingEventArgs.registerClass("Telerik.Web.UI.RadMenuItemClosingEventArgs",Telerik.Web.UI.RadMenuItemCancelEventArgs);
Telerik.Web.UI.RadMenuItemClosedEventArgs=function(_17,_18){
Telerik.Web.UI.RadMenuItemClosedEventArgs.initializeBase(this,[_17,_18||null]);
};
Telerik.Web.UI.RadMenuItemClosedEventArgs.registerClass("Telerik.Web.UI.RadMenuItemClosedEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemPopulatingEventArgs=function(_19,_1a){
Telerik.Web.UI.RadMenuItemPopulatingEventArgs.initializeBase(this,[_19]);
this._context=_1a;
};
Telerik.Web.UI.RadMenuItemPopulatingEventArgs.prototype={get_context:function(){
return this._context;
}};
Telerik.Web.UI.RadMenuItemPopulatingEventArgs.registerClass("Telerik.Web.UI.RadMenuItemPopulatingEventArgs",Telerik.Web.UI.RadMenuItemCancelEventArgs);
Telerik.Web.UI.RadMenuItemPopulatedEventArgs=function(_1b){
Telerik.Web.UI.RadMenuItemPopulatedEventArgs.initializeBase(this,[_1b]);
};
Telerik.Web.UI.RadMenuItemPopulatedEventArgs.registerClass("Telerik.Web.UI.RadMenuItemPopulatedEventArgs",Telerik.Web.UI.RadMenuItemEventArgs);
Telerik.Web.UI.RadMenuItemPopulationFailedEventArgs=function(_1c,_1d){
Telerik.Web.UI.RadMenuItemPopulationFailedEventArgs.initializeBase(this,[_1c]);
this._errorMessage=_1d;
};
Telerik.Web.UI.RadMenuItemPopulationFailedEventArgs.prototype={get_errorMessage:function(){
return this._errorMessage;
}};
Telerik.Web.UI.RadMenuItemPopulationFailedEventArgs.registerClass("Telerik.Web.UI.RadMenuItemPopulationFailedEventArgs",Telerik.Web.UI.RadMenuItemCancelEventArgs);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.ItemFlow=function(){
};
Telerik.Web.UI.ItemFlow.prototype={Vertical:0,Horizontal:1};
Telerik.Web.UI.ItemFlow.registerEnum("Telerik.Web.UI.ItemFlow");
Telerik.Web.UI.ExpandDirection=function(){
};
Telerik.Web.UI.ExpandDirection.prototype={Auto:0,Up:1,Down:2,Left:3,Right:4};
Telerik.Web.UI.ExpandDirection.registerEnum("Telerik.Web.UI.ExpandDirection");
Telerik.Web.UI.RadMenu=function(_1e){
Telerik.Web.UI.RadMenu.initializeBase(this,[_1e]);
this._childTypeName="Telerik.Web.UI.RadMenuItem";
this._itemData=null;
this._expandAnimation=new Telerik.Web.UI.AnimationSettings({});
this._expandDelay=100;
this._collapseAnimation=new Telerik.Web.UI.AnimationSettings({});
this._collapseDelay=500;
this._flow=Telerik.Web.UI.ItemFlow.Horizontal;
this._defaultGroupSettings=new Telerik.Web.UI.RadMenuItemGroupSettings({});
this._enableAutoScroll=false;
this._autoScrollMinimumHeight=50;
this._autoScrollMinimumWidth=50;
this._enableScreenBoundaryDetection=true;
this._clickToOpen=false;
this._childListElement=null;
this._postBackReference=null;
this._onClickDelegate=null;
this._webServiceSettings=new Telerik.Web.UI.WebServiceSettings({});
this._persistLoadOnDemandItems=true;
this._enableOverlay=true;
this._enabled=true;
this._visible=true;
this._openedItem=null;
this._lastOpenedItem=null;
this._childrenDetached=false;
this._originalZIndex=null;
this._defaultZIndex=7000;
this._zIndexIncrementDepth=0;
this._fireEvents=true;
this._webServiceLoader=null;
this._loadingTemplate="";
this._onMouseOutDelegate=null;
this._onClickDelegate=null;
this._onResizeDelegate=null;
this._aboutToCollapse=false;
this._rightToLeft=null;
this._skin=null;
};
Telerik.Web.UI.RadMenu._createChildControls=function(_1f,_20){
var _21=_1f.get_itemData();
if(!_21){
return;
}
var _22=$telerik.getChildrenByTagName(_1f.get_childListElement(),"li");
Sys.Debug.assert(_21.length==_22.length,"Length of elements and json must be the same!");
for(var i=0;i<_21.length;i++){
var _24=new Telerik.Web.UI.RadMenuItem();
_20.add(_24);
_24._initialize(_21[i],_22[i]);
}
};
Telerik.Web.UI.RadMenu._adjustChildrenWidth=function(_25,_26){
var _27=_25._getControl();
var _28=_25.get_items();
var _29=_28.get_count();
if(_26){
for(var i=0;i<_29;i++){
_28.getItem(i)._clearWidth();
}
}
var _2b=Telerik.Web.UI.RadMenu._getMaxChildWidth(_25)+"px";
Telerik.Web.UI.RadMenu._setChildrenWidth(_25,_2b);
};
Telerik.Web.UI.RadMenu._getMaxChildWidth=function(_2c){
var _2d=0;
var _2e=_2c._getControl();
var _2f=_2c.get_items();
var _30=_2f.get_count();
for(var i=0;i<_30;i++){
if(_2e.get_rightToLeft()){
var _32=_2f.getItem(i).get_imageElement();
if(_32){
_32.style.styleFloat="left";
_32.style.cssFloat="left";
}
}
var _33=_2f.getItem(i)._getWidth();
_2d=Math.max(_33,_2d);
}
if(_2c.get_groupSettings){
groupWidth=_2c.get_groupSettings().get_width();
if(groupWidth){
_2d=groupWidth;
}
}
return _2d;
};
Telerik.Web.UI.RadMenu._setChildrenWidth=function(_34,_35){
var _36=_34._getControl();
var _37=_34.get_items();
var _38=_37.get_count();
for(var i=0;i<_38;i++){
if(_36.get_rightToLeft()){
var _3a=_37.getItem(i).get_imageElement();
if(_3a){
_3a.style.styleFloat="right";
_3a.style.cssFloat="right";
}
}
_37.getItem(i)._setWidth(_35);
}
if($telerik.isSafari){
var _3b=_34.get_childListElement();
_3b.style.width=_35;
}
};
Telerik.Web.UI.RadMenu._adjustRootItemWidth=function(_3c,_3d){
var _3e=$get(_3c);
var _3f=Telerik.Web.UI.RadMenu._getMaxRootItemWidth(_3e,_3d||null);
Telerik.Web.UI.RadMenu._setRootItemWidth(_3e,_3f,_3d||null);
};
Telerik.Web.UI.RadMenu._getChildListElement=function(_40){
var _41=$telerik.getFirstChildByTagName(_40,"ul",0);
if(!_41){
var _42=$telerik.getFirstChildByTagName(_40,"div",0);
_41=$telerik.getFirstChildByTagName(_42,"ul",0);
if(!_41){
var _43=_42;
_42=$telerik.getFirstChildByTagName(_43,"div",0);
_41=$telerik.getFirstChildByTagName(_42,"ul",0);
}
}
return _41;
};
Telerik.Web.UI.RadMenu._getMaxRootItemWidth=function(_44,_45){
if(!_45){
_45=Telerik.Web.UI.RadMenu._getChildListElement(_44);
}
var _46=_45.childNodes;
var _47=_46.length;
var _48=0;
for(var i=0;i<_47;i++){
var _4a=_46[i];
if(_4a.nodeType===3){
continue;
}
var _4b=$telerik.getFirstChildByTagName(_4a,"a",0);
var _4c;
if(_4b){
_4c=_4b.offsetWidth;
}else{
_4c=_4a.offsetWidth;
}
_48=Math.max(_48,_4c);
}
return _48;
};
Telerik.Web.UI.RadMenu._setRootItemWidth=function(_4d,_4e,_4f){
if(!_4f){
_4f=Telerik.Web.UI.RadMenu._getChildListElement(_4d);
}
var _50=_4f.childNodes;
var _51=_50.length;
if($telerik.isOpera){
_4f.style.cssFloat="none";
}
if(_4e==0){
return;
}
for(var i=0;i<_51;i++){
var _53=_50[i];
if(_53.nodeType==3){
continue;
}
var _54=$telerik.getFirstChildByTagName(_53,"a",0);
if(!_54){
_54=_53;
}
var _55=_4e;
var _56=$telerik.getPaddingBox(_54).horizontal;
var _57=$telerik.getBorderBox(_54).horizontal;
_55-=_56+_57;
var _58=_54.style.width;
if(!_58||_55!=_58){
_54.style.width=_55+"px";
}
}
if($telerik.isSafari){
_4f.style.width=_4e;
}
if(_4d.style.width===""&&Telerik.Web.UI.RadMenu._requiresRightToLeft(_4d)){
_4d.style.width=_4e+"px";
}
};
Telerik.Web.UI.RadMenu._requiresRightToLeft=function(_59){
var _5a=_59;
while(_5a.nodeType!==9){
if(_5a.dir=="rtl"){
return true;
}
_5a=_5a.parentNode;
}
return false;
};
Telerik.Web.UI.RadMenu._adjustListWidth=function(_5b){
var _5c=_5b._getControl();
if(_5c.get_rightToLeft()){
Telerik.Web.UI.RadMenu._adjustChildrenWidth(_5b);
}
var _5d=_5b.get_childListElement();
var _5e=0;
for(var i=0;i<_5d.childNodes.length;i++){
var _60=_5d.childNodes[i];
if(_60.nodeType==3){
continue;
}
_5e+=_60.offsetWidth;
_60.style.clear="none";
}
_5d.style.width=_5e+"px";
};
Telerik.Web.UI.RadMenu.prototype={initialize:function(){
Telerik.Web.UI.RadMenu.callBaseMethod(this,"initialize");
var _61=this.get_element();
if(this.get_rightToLeft()){
this._initRightToLeft();
}
if(this._flow==Telerik.Web.UI.ItemFlow.Vertical){
var _62=this.get_element().id;
Telerik.Web.UI.RadMenu._adjustRootItemWidth(_62,this.get_childListElement());
}
this._originalZIndex=parseInt($telerik.getCurrentStyle(_61,"zIndex"));
if(!this._originalZIndex){
_61.style.zIndex=this._defaultZIndex;
this._originalZIndex=this._defaultZIndex;
}
this._onClickDelegate=Function.createDelegate(this,this._onClick);
$addHandler(document,"click",this._onClickDelegate);
if(!this.get_clickToOpen()){
if($telerik.isIE){
this._onMouseOutDelegate=Function.createDelegate(this,this._onMouseOut);
$addHandler(document,"mouseout",this._onMouseOutDelegate);
}
}
this._onResizeDelegate=Function.createDelegate(this,this._onResize);
$addHandler(window,"resize",this._onResizeDelegate);
this._eventMap.addHandlerForClassName("mouseover","rmItem",this._onItemMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rmItem",this._onItemMouseOut);
this._eventMap.addHandlerForClassName("dragstart","rmItem",this._onItemDragStart);
this._eventMap.addHandlerForClassName("click","rmLink",this._onLinkClick);
this._eventMap.addHandlerForClassName("mouseover","rmLink",this._onLinkMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rmLink",this._onLinkMouseOut);
this._eventMap.addHandlerForClassName("mousedown","rmLink",this._onLinkMouseDown);
this._eventMap.addHandlerForClassName("mouseup","rmLink",this._onLinkMouseUp);
this._eventMap.addHandlerForClassName("blur","rmLink",this._onLinkBlur);
this._eventMap.addHandlerForClassName("deactivate","rmLink",this._onLinkBlur);
this._eventMap.addHandlerForClassName("focus","rmLink",this._onLinkFocus);
this._eventMap.addHandlerForClassName("activate","rmLink",this._onLinkFocus);
this._eventMap.addHandlerForClassName("keydown","rmLink",this._onLinkKeyDown);
this._eventMap.addHandlerForClassName("mousedown","rmTopArrow",this._onTopArrowMouseDown);
this._eventMap.addHandlerForClassName("mouseup","rmTopArrow",this._onTopArrowMouseUp);
this._eventMap.addHandlerForClassName("mouseover","rmTopArrow",this._onTopArrowMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rmTopArrow",this._onTopArrowMouseOut);
this._eventMap.addHandlerForClassName("click","rmTopArrow",this._onScrollArrowClicked);
this._eventMap.addHandlerForClassName("mousedown","rmBottomArrow",this._onBottomArrowMouseDown);
this._eventMap.addHandlerForClassName("mouseup","rmBottomArrow",this._onBottomArrowMouseUp);
this._eventMap.addHandlerForClassName("mouseover","rmBottomArrow",this._onBottomArrowMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rmBottomArrow",this._onBottomArrowMouseOut);
this._eventMap.addHandlerForClassName("click","rmBottomArrow",this._onScrollArrowClicked);
this._eventMap.addHandlerForClassName("mousedown","rmLeftArrow",this._onLeftArrowMouseDown);
this._eventMap.addHandlerForClassName("mouseup","rmLeftArrow",this._onLeftArrowMouseUp);
this._eventMap.addHandlerForClassName("mouseover","rmLeftArrow",this._onLeftArrowMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rmLeftArrow",this._onLeftArrowMouseOut);
this._eventMap.addHandlerForClassName("click","rmLeftArrow",this._onScrollArrowClicked);
this._eventMap.addHandlerForClassName("mousedown","rmRightArrow",this._onRightArrowMouseDown);
this._eventMap.addHandlerForClassName("mouseup","rmRightArrow",this._onRightArrowMouseUp);
this._eventMap.addHandlerForClassName("mouseover","rmRightArrow",this._onRightArrowMouseOver);
this._eventMap.addHandlerForClassName("mouseout","rmRightArrow",this._onRightArrowMouseOut);
this._eventMap.addHandlerForClassName("click","rmRightArrow",this._onScrollArrowClicked);
if(!this.get_enabled()){
this.set_enabled(false);
}
this._raiseEvent("load",null);
},dispose:function(){
Telerik.Web.UI.RadMenu.callBaseMethod(this,"dispose");
if(this._onClickDelegate){
$removeHandler(document,"click",this._onClickDelegate);
this._onClickDelegate=null;
}
if(this._onMouseOutDelegate){
$removeHandler(document,"mouseout",this._onMouseOutDelegate);
this._onMouseOutDelegate=null;
}
if(this._onResizeDelegate){
$removeHandler(window,"resize",this._onResizeDelegate);
this._onResizeDelegate=null;
}
if(this._eventMap){
this._eventMap.dispose();
this._eventMap=null;
}
},repaint:function(){
if(this._flow==Telerik.Web.UI.ItemFlow.Vertical){
Telerik.Web.UI.RadMenu._adjustRootItemWidth(this.get_id(),this.get_childListElement());
}
},get_items:function(){
return this._getChildren();
},set_items:function(_63){
this._children=_63;
},get_enableScreenBoundaryDetection:function(){
return this._enableScreenBoundaryDetection;
},set_enableScreenBoundaryDetection:function(_64){
this._enableScreenBoundaryDetection=_64;
},get_enableAutoScroll:function(){
return this._enableAutoScroll;
},set_enableAutoScroll:function(_65){
this._enableAutoScroll=_65;
},get_autoScrollMinimumHeight:function(){
return this._autoScrollMinimumHeight;
},set_autoScrollMinimumHeight:function(_66){
this._autoScrollMinimumHeight=_66;
},get_autoScrollMinimumWidth:function(){
return this._autoScrollMinimumWidth;
},set_autoScrollMinimumWidth:function(_67){
this._autoScrollMinimumWidth=_67;
},get_childListElement:function(){
if(!this._childListElement){
this._childListElement=$telerik.getFirstChildByTagName(this.get_element(),"ul",0);
}
return this._childListElement;
},get_expandAnimation:function(){
return this._expandAnimation;
},set_expandAnimation:function(_68){
var _69=Sys.Serialization.JavaScriptSerializer.deserialize(_68);
this._expandAnimation=new Telerik.Web.UI.AnimationSettings(_69);
},get_collapseAnimation:function(){
return this._collapseAnimation;
},set_collapseAnimation:function(_6a){
var _6b=Sys.Serialization.JavaScriptSerializer.deserialize(_6a);
this._collapseAnimation=new Telerik.Web.UI.AnimationSettings(_6b);
},get_defaultGroupSettings:function(){
return this._defaultGroupSettings;
},set_defaultGroupSettings:function(_6c){
var _6d=Sys.Serialization.JavaScriptSerializer.deserialize(_6c);
this._defaultGroupSettings=new Telerik.Web.UI.RadMenuItemGroupSettings(_6d);
},get_itemData:function(){
return this._itemData;
},set_itemData:function(_6e){
this._itemData=_6e;
},set_enabled:function(_6f){
Telerik.Web.UI.RadMenu.callBaseMethod(this,"set_enabled",[_6f]);
if(!this.get_isInitialized()){
return;
}
var _70=this.get_element();
var _71=this.get_items();
var _72=_71.get_count();
if(!_6f){
_70.disabled="disabled";
this.disableEvents();
for(var i=0;i<_72;i++){
_71.getItem(i).disable();
}
}else{
_70.disabled="";
this.enableEvents();
for(var i=0;i<_72;i++){
_71.getItem(i).enable();
}
}
},get_allItems:function(){
return this._getAllItems();
},get_focusedItem:function(){
return this._focusedItem;
},get_openedItem:function(){
return this._openedItem;
},get_clickToOpen:function(){
return this._clickToOpen;
},set_clickToOpen:function(_74){
this._clickToOpen=_74;
},get_collapseDelay:function(){
return this._collapseDelay;
},set_collapseDelay:function(_75){
this._collapseDelay=_75;
},get_expandDelay:function(){
return this._expandDelay;
},set_expandDelay:function(_76){
this._expandDelay=_76;
},get_loadingTemplate:function(){
return this._loadingTemplate;
},set_loadingTemplate:function(_77){
this._loadingTemplate=_77;
},get_webServiceSettings:function(){
return this._webServiceSettings;
},set_webServiceSettings:function(_78){
var _79=Sys.Serialization.JavaScriptSerializer.deserialize(_78);
this._webServiceSettings=new Telerik.Web.UI.WebServiceSettings(_79);
},get_rightToLeft:function(){
if(this._rightToLeft===null){
this._rightToLeft=Telerik.Web.UI.RadMenu._requiresRightToLeft(this.get_element());
}
return this._rightToLeft;
},set_rightToLeft:function(_7a){
this._rightToLeft=_7a;
},set_clicked:function(_7b){
this._clicked=_7b;
},get_clicked:function(){
return this._clicked;
},saveClientState:function(){
var _7c=this._log._logEntries;
var _7d={logEntries:_7c};
return Sys.Serialization.JavaScriptSerializer.serialize(_7d);
},close:function(){
var _7e=this.get_openedItem();
if(_7e){
_7e.close();
}
},disable:function(){
this.set_enabled(false);
},enable:function(){
this.set_enabled(true);
},disableEvents:function(){
this._fireEvents=false;
},enableEvents:function(){
this._fireEvents=true;
},focus:function(){
this.get_element().focus();
},findItemByText:function(_7f){
return this._findItemByText(_7f);
},findItemByUrl:function(){
Error.notImplemented();
},findItemByValue:function(_80){
return this._findItemByValue(_80);
},findItemByAttribute:function(_81,_82){
return this._findItemByAttribute(_81,_82);
},get_allItems:function(){
return this._getAllItems();
},get_persistLoadOnDemandItems:function(){
return this._persistLoadOnDemandItems;
},set_persistLoadOnDemandItems:function(_83){
this._persistLoadOnDemandItems=_83;
},get_enableOverlay:function(){
return this._enableOverlay;
},set_enableOverlay:function(_84){
this._enableOverlay=_84;
},_isMainElementDescendant:function(_85){
return $telerik.isDescendant(this.get_element(),_85);
},_createChildControls:function(){
this._children=new Telerik.Web.UI.RadMenuItemCollection(this);
Telerik.Web.UI.RadMenu._createChildControls(this,this._children);
},_onMouseOut:function(e){
var _87=e.rawEvent.relatedTarget?e.rawEvent.relatedTarget:e.rawEvent.toElement;
var _88=this.get_element();
if(!_87&&!this._isMainElementDescendant(e.target)){
var _89=this;
setTimeout(function(){
_89.close();
},this.get_collapseDelay());
}
},_onClick:function(e){
if(!this._isMainElementDescendant(e.target)){
var _8b=this.get_clickToOpen();
if(this._focusedItem||_8b){
this.close();
if(this.get_clickToOpen()){
this.set_clicked(false);
}
}
}
},_onResize:function(e){
},_onItemMouseOver:function(e){
var _8e=this._extractItemFromDomElement(e.eventMapTarget);
if(!_8e.get_enabled()){
return true;
}
_8e._preventClose();
if(this.get_clickToOpen()&&!this.get_clicked()){
return true;
}
if(_8e._state==Telerik.Web.UI.RadMenuItemState.Open||_8e._state==Telerik.Web.UI.RadMenuItemState.AboutToOpen){
return true;
}
var _8f=_8e.get_parent();
var _90=_8f.get_openedItem();
if(_90&&_90!=_8e){
_90._clearTimeout();
_90._state=Telerik.Web.UI.RadMenuItemState.AboutToClose;
_90._setTimeout(function(){
_90.close();
_90._timeoutRef=null;
},this.get_expandDelay());
}
if(_8e.get_items().get_count()==0&&!_8e._isWebServiceCallNeeded()){
return true;
}
this._lastOpenedItem=_8e;
_8e._state=Telerik.Web.UI.RadMenuItemState.AboutToOpen;
_8e._setTimeout(function(){
_8e.open();
_8e._timeoutRef=null;
},this.get_expandDelay());
return true;
},_onItemMouseOut:function(e){
var _92=this._extractItemFromDomElement(e.eventMapTarget);
if(!_92.get_enabled()){
return true;
}
var _93=e.eventMapRelatedTarget;
var _94=_92.get_element();
if(!_93||_94==_93||$telerik.isDescendant(_94,_93)){
return true;
}
if(this._childrenDetached&&$telerik.isDescendant(_92.get_parent()._getAnimationContainer(),_93)){
return true;
}
if(_92._state==Telerik.Web.UI.RadMenuItemState.Closed||_92._state==Telerik.Web.UI.RadMenuItemState.AboutToClose){
return true;
}
if(_92._state==Telerik.Web.UI.RadMenuItemState.AboutToOpen){
_92._clearTimeout();
_92._state=Telerik.Web.UI.RadMenuItemState.Closed;
_92.get_parent()._openedItem=null;
return true;
}
if(this.get_clickToOpen()){
return true;
}
_92._state=Telerik.Web.UI.RadMenuItemState.AboutToClose;
_92._setTimeout(function(){
_92.close();
_92._timeoutRef=null;
},this._collapseDelay);
return true;
},_onItemDragStart:function(e){
e.preventDefault();
return false;
},_onLinkClick:function(e){
var _97=this._extractItemFromDomElement(e.eventMapTarget);
if(!_97._click(e)){
e.preventDefault();
return false;
}
return true;
},_onLinkMouseOver:function(e){
var _99=e.eventMapRelatedTarget;
var _9a=this._extractItemFromDomElement(e.eventMapTarget);
if(!_9a.get_enabled()){
return true;
}
var _9b=_9a.get_linkElement();
if(!_99||_9b==_99||$telerik.isDescendant(_9b,_99)){
return true;
}
_9a._hovered=true;
_9a._updateImageSrc();
this._raiseEvent("mouseOver",new Telerik.Web.UI.RadMenuMouseOverEventArgs(_9a,e));
return true;
},_onLinkMouseOut:function(e){
var _9d=e.eventMapRelatedTarget;
var _9e=this._extractItemFromDomElement(e.eventMapTarget);
if(!_9e.get_enabled()){
return true;
}
var _9f=_9e.get_linkElement();
if(!_9d||!_9f){
return;
}
if(_9f==_9d||$telerik.isDescendant(_9f,_9d)){
return true;
}
_9e._hovered=false;
_9e._updateImageSrc();
this._raiseEvent("mouseOut",new Telerik.Web.UI.RadMenuMouseOutEventArgs(_9e,e));
return true;
},_onLinkMouseDown:function(e){
var _a1=this._extractItemFromDomElement(e.eventMapTarget);
if(!_a1.get_enabled()){
return true;
}
_a1._clicked=true;
_a1._updateLinkClass();
_a1._updateImageSrc();
return true;
},_onLinkMouseUp:function(e){
var _a3=this._extractItemFromDomElement(e.eventMapTarget);
if(!_a3.get_enabled()){
return true;
}
_a3._clicked=false;
_a3._updateLinkClass();
_a3._updateImageSrc();
return true;
},_onLinkBlur:function(e){
var _a5=this._extractItemFromDomElement(e.eventMapTarget);
if(!_a5.get_enabled()){
return true;
}
_a5._focused=false;
_a5.blur();
return true;
},_onLinkFocus:function(e){
var _a7=this._extractItemFromDomElement(e.eventMapTarget);
if(!_a7.get_enabled()){
return true;
}
_a7._focused=true;
_a7.focus();
return true;
},_onLinkKeyDown:function(e){
var _a9=this._extractItemFromDomElement(e.eventMapTarget);
if(!_a9.get_enabled()){
return true;
}
return _a9._onKeyDown(e);
},_onTopArrowMouseDown:function(e){
var _ab=this._extractItemFromDomElement(e.eventMapTarget);
_ab._onScrollArrowMouseDown(Telerik.Web.UI.ArrowPosition.Top);
},_onTopArrowMouseUp:function(e){
var _ad=this._extractItemFromDomElement(e.eventMapTarget);
_ad._onScrollArrowMouseUp(Telerik.Web.UI.ArrowPosition.Top);
},_onTopArrowMouseOver:function(e){
var _af=this._extractItemFromDomElement(e.eventMapTarget);
_af._onScrollArrowMouseOver(Telerik.Web.UI.ArrowPosition.Top);
},_onTopArrowMouseOut:function(e){
var _b1=this._extractItemFromDomElement(e.eventMapTarget);
_b1._onScrollArrowMouseOut(Telerik.Web.UI.ArrowPosition.Top);
},_onBottomArrowMouseDown:function(e){
var _b3=this._extractItemFromDomElement(e.eventMapTarget);
_b3._onScrollArrowMouseDown(Telerik.Web.UI.ArrowPosition.Bottom);
},_onBottomArrowMouseUp:function(e){
var _b5=this._extractItemFromDomElement(e.eventMapTarget);
_b5._onScrollArrowMouseUp(Telerik.Web.UI.ArrowPosition.Bottom);
},_onBottomArrowMouseOver:function(e){
var _b7=this._extractItemFromDomElement(e.eventMapTarget);
_b7._onScrollArrowMouseOver(Telerik.Web.UI.ArrowPosition.Bottom);
},_onBottomArrowMouseOut:function(e){
var _b9=this._extractItemFromDomElement(e.eventMapTarget);
_b9._onScrollArrowMouseOut(Telerik.Web.UI.ArrowPosition.Bottom);
},_onLeftArrowMouseDown:function(e){
var _bb=this._extractItemFromDomElement(e.eventMapTarget);
_bb._onScrollArrowMouseDown(Telerik.Web.UI.ArrowPosition.Left);
},_onLeftArrowMouseUp:function(e){
var _bd=this._extractItemFromDomElement(e.eventMapTarget);
_bd._onScrollArrowMouseUp(Telerik.Web.UI.ArrowPosition.Left);
},_onLeftArrowMouseOver:function(e){
var _bf=this._extractItemFromDomElement(e.eventMapTarget);
_bf._onScrollArrowMouseOver(Telerik.Web.UI.ArrowPosition.Left);
},_onLeftArrowMouseOut:function(e){
var _c1=this._extractItemFromDomElement(e.eventMapTarget);
_c1._onScrollArrowMouseOut(Telerik.Web.UI.ArrowPosition.Left);
},_onRightArrowMouseDown:function(e){
var _c3=this._extractItemFromDomElement(e.eventMapTarget);
_c3._onScrollArrowMouseDown(Telerik.Web.UI.ArrowPosition.Right);
},_onRightArrowMouseUp:function(e){
var _c5=this._extractItemFromDomElement(e.eventMapTarget);
_c5._onScrollArrowMouseUp(Telerik.Web.UI.ArrowPosition.Right);
},_onRightArrowMouseOver:function(e){
var _c7=this._extractItemFromDomElement(e.eventMapTarget);
_c7._onScrollArrowMouseOver(Telerik.Web.UI.ArrowPosition.Right);
},_onRightArrowMouseOut:function(e){
var _c9=this._extractItemFromDomElement(e.eventMapTarget);
_c9._onScrollArrowMouseOut(Telerik.Web.UI.ArrowPosition.Right);
},_onScrollArrowClicked:function(e){
e.preventDefault();
e.stopPropagation();
return false;
},_childrenCleared:function(_cb){
if(_cb._slideWrapElement){
_cb._slideWrapElement.outerHTML="";
_cb._slideWrapElement=null;
_cb._scrollWrapElement=null;
}
_cb._linkElement=null;
_cb._childListElement=null;
_cb._animatedElement=null;
_cb._animationContainer=null;
Telerik.Web.UI.RadMenu.callBaseMethod(this,"_childrenCleared",[_cb]);
},_childInserted:function(_cc,_cd,_ce){
Telerik.Web.UI.RadMenu.callBaseMethod(this,"_childInserted",[_cc,_cd,_ce]);
if(_ce._state&&_ce._state==Telerik.Web.UI.RadMenuItemState.Open){
if(_cd._getWidth()>0){
Telerik.Web.UI.RadMenu._adjustChildrenWidth(_ce);
}
}
},_childRemoved:function(_cf,_d0){
_cf.get_text();
var _d1=_cf.get_element();
if(_d0.get_items().get_count()==0){
if(_d0._slide){
_d0._slide.dispose();
_d0._slide=null;
}
_d1=$telerik.getFirstChildByTagName(_d0.get_element(),"div",0);
_d0._linkElement=null;
_d0._childListElement=null;
_d0._scrollWrapElement=null;
_d0._slideWrapElement=null;
_d0._animatedElement=null;
_d0._animationContainer=null;
}
if(_d1){
_d1.outerHTML="";
if(_d1.parentNode){
_d1.parentNode.removeChild(_d1);
}
_d1=null;
}
var _d2=_d0.get_items().get_count();
if(_d2>0){
var _d3=_d0.get_items().getItem(0).get_element();
if(_d3&&!Sys.UI.DomElement.containsCssClass(_d3,"rmFirst")){
_d3.className+=" rmFirst";
}
}
var _d4=_d2-1;
if(_d2>0){
var _d5=_d0.get_items().getItem(_d4).get_element();
if(_d5&&!Sys.UI.DomElement.containsCssClass(_d5,"rmLast")){
_d5.className+=" rmLast";
}
}
Telerik.Web.UI.RadMenu.callBaseMethod(this,"_childRemoved",[_cf,_d0]);
if(_d0._state&&_d0._state==Telerik.Web.UI.RadMenuItemState.Open){
Telerik.Web.UI.RadMenu._adjustChildrenWidth(_d0,true);
}
},_getExtendedItemClickingEventArgs:function(_d6){
return _d6;
},_getExtendedItemClickedEventArgs:function(_d7){
return _d7;
},_incrementZIndex:function(_d8){
if(this._zIndexIncrementDepth==0){
var _d9=this.get_element();
_d9.style.zIndex=this._originalZIndex+_d8;
}
this._zIndexIncrementDepth++;
},_restoreZIndex:function(){
if(this._zIndexIncrementDepth>0){
this._zIndexIncrementDepth--;
}
if(this._zIndexIncrementDepth==0){
var _da=this.get_element();
_da.style.zIndex=this._originalZIndex;
}
},_getRtlClassName:function(){
return "rmRtl";
},_getMainElement:function(){
return this.get_element();
},_initRightToLeft:function(){
var _db=this._getMainElement();
_db.dir="ltr";
if(_db.className.indexOf("rmRtl")<0){
_db.className=String.format("{0} {1}",_db.className,this._getRtlClassName());
if(this._skin){
_db.className=String.format("{0} RadMenu_{1}_rtl",_db.className,this._skin);
}
}
for(var i=0;i<this.get_items().get_count();i++){
var _dd=this.get_items().getItem(i);
var _de=_dd.get_imageElement();
if(_de){
_de.style.styleFloat="left";
_de.style.cssFloat="left";
_dd.get_linkElement().style.width=_dd._getWidth()+"px";
_de.style.styleFloat="right";
_de.style.cssFloat="right";
}
}
},_postback:function(_df){
if(!this._postBackReference){
return;
}
var _e0=this._postBackReference.replace("arguments",_df);
eval(_e0);
},_raiseEvent:function(_e1,_e2){
if(this._fireEvents){
this.raiseEvent(_e1,_e2);
}
},_initializeWebServiceLoader:function(){
this._webServiceLoader=new Telerik.Web.UI.WebServiceLoader(this.get_webServiceSettings());
this._webServiceLoader.add_loadingStarted(Function.createDelegate(this,this._onItemLoadingStarted));
this._webServiceLoader.add_loadingSuccess(Function.createDelegate(this,this._onItemLoadingSuccess));
this._webServiceLoader.add_loadingError(Function.createDelegate(this,this._onItemLoadingError));
},_loadChildrenFromWebService:function(_e3){
if(!this._webServiceLoader){
this._initializeWebServiceLoader();
}
var _e4={};
var _e5=new Telerik.Web.UI.RadMenuItemPopulatingEventArgs(_e3,_e4);
this._raiseEvent("itemPopulating",_e5);
if(_e5.get_cancel()){
return;
}
var _e6={Text:_e3.get_text(),Value:_e3.get_value(),ExpandMode:_e3.get_expandMode()};
var _e7={item:_e6,context:_e4};
this._webServiceLoader.loadData(_e7,_e3);
},_onItemLoadingStarted:function(_e8,_e9){
var _ea=_e9.get_context();
_ea._onChildrenLoading();
},_onItemLoadingSuccess:function(_eb,_ec){
var _ed=_ec.get_data();
var _ee=_ec.get_context();
var _ef=_ee.get_items();
for(i=0;i<_ed.length;i++){
var _f1=_ed[i];
var _f2=new Telerik.Web.UI.RadMenuItem();
_f2._loadFromDictionary(_f1);
if(_f2.get_navigateUrl()===""){
_f2.set_navigateUrl("#");
}
_ef.add(_f2);
}
_ee._onChildrenLoaded();
if(this.get_persistLoadOnDemandItems()){
this.trackChanges();
_ee.set_expandMode(Telerik.Web.UI.MenuItemExpandMode.ClientSide);
var _f3=_ef.get_count();
for(var i=0;i<_f3;i++){
this._log.logInsert(_ef.getItem(i));
}
this.commitChanges();
}
var _f4=new Telerik.Web.UI.RadMenuItemPopulatedEventArgs(_ee);
this._raiseEvent("itemPopulated",_f4);
},_onItemLoadingError:function(_f5,_f6){
var _f7=_f6.get_message();
var _f8=_f6.get_context();
_f8._onChildrenLoadingError();
var _f9=new Telerik.Web.UI.RadMenuItemPopulationFailedEventArgs(_f8,_f7);
this._raiseEvent("itemPopulationFailed",_f9);
if(_f9.get_cancel()){
return;
}
alert(_f7);
},add_mouseOver:function(_fa){
this.get_events().addHandler("mouseOver",_fa);
},remove_mouseOver:function(_fb){
this.get_events().removeHandler("mouseOver",_fb);
},add_mouseOut:function(_fc){
this.get_events().addHandler("mouseOut",_fc);
},remove_mouseOut:function(_fd){
this.get_events().removeHandler("mouseOut",_fd);
},add_itemFocus:function(_fe){
this.get_events().addHandler("itemFocus",_fe);
},remove_itemFocus:function(_ff){
this.get_events().removeHandler("itemFocus",_ff);
},add_itemBlur:function(_100){
this.get_events().addHandler("itemBlur",_100);
},remove_itemBlur:function(_101){
this.get_events().removeHandler("itemBlur",_101);
},add_itemClicking:function(_102){
this.get_events().addHandler("itemClicking",_102);
},remove_itemClicking:function(_103){
this.get_events().removeHandler("itemClicking",_103);
},add_itemClicked:function(_104){
this.get_events().addHandler("itemClicked",_104);
},remove_itemClicked:function(_105){
this.get_events().removeHandler("itemClicked",_105);
},add_itemOpening:function(_106){
this.get_events().addHandler("itemOpening",_106);
},remove_itemOpening:function(_107){
this.get_events().removeHandler("itemOpening",_107);
},add_itemOpened:function(_108){
this.get_events().addHandler("itemOpened",_108);
},remove_itemOpened:function(_109){
this.get_events().removeHandler("itemOpened",_109);
},add_itemClosing:function(_10a){
this.get_events().addHandler("itemClosing",_10a);
},remove_itemClosing:function(_10b){
this.get_events().removeHandler("itemClosing",_10b);
},add_itemClosed:function(_10c){
this.get_events().addHandler("itemClosed",_10c);
},remove_itemClosed:function(_10d){
this.get_events().removeHandler("itemClosed",_10d);
},add_load:function(_10e){
this.get_events().addHandler("load",_10e);
},remove_load:function(_10f){
this.get_events().removeHandler("load",_10f);
},add_itemPopulating:function(_110){
this.get_events().addHandler("itemPopulating",_110);
},remove_itemPopulating:function(_111){
this.get_events().removeHandler("itemPopulating",_111);
},add_itemPopulated:function(_112){
this.get_events().addHandler("itemPopulated",_112);
},remove_itemPopulated:function(_113){
this.get_events().removeHandler("itemPopulated",_113);
},add_itemPopulationFailed:function(_114){
this.get_events().addHandler("itemPopulationFailed",_114);
},remove_itemPopulationFailed:function(_115){
this.get_events().removeHandler("itemPopulationFailed",_115);
}};
Telerik.Web.UI.RadMenu.registerClass("Telerik.Web.UI.RadMenu",Telerik.Web.UI.ControlItemContainer);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadMenuItemState=function(){
};
Telerik.Web.UI.RadMenuItemState.prototype={Closed:0,Open:1,AboutToClose:2,AboutToOpen:3};
Telerik.Web.UI.RadMenuItemState.registerEnum("Telerik.Web.UI.RadMenuItemState");
Telerik.Web.UI.MenuItemExpandMode=function(){
};
Telerik.Web.UI.MenuItemExpandMode.prototype={ClientSide:0,WebService:1};
Telerik.Web.UI.MenuItemExpandMode.registerEnum("Telerik.Web.UI.MenuItemExpandMode");
Telerik.Web.UI.RadMenuItem=function(){
Telerik.Web.UI.RadMenuItem.initializeBase(this);
this._zIndexStep=1000;
this._scrollWrapCssClass="rmScrollWrap";
this._groupCssClass="rmGroup";
this._levelCssClass="rmLevel";
this._horizontalCssClass="rmHorizontal";
this._verticalCssClass="rmVertical";
this._leftImageCssClass="rmLeftImage";
this._defaultDisabledCssClass="rmDisabled";
this._defaultExpandedCssClass="rmExpanded";
this._defaultFocusedCssClass="rmFocused";
this._defaultClickedCssClass="rmClicked";
this._defaultScrollSize=16;
this._menu=null;
this._groupSettings=new Telerik.Web.UI.RadMenuItemGroupSettings({});
this._imageUrl=null;
this._flow=null;
this._openedItem=null;
this._timeoutRef=null;
this._focused=false;
this._clicked=false;
this._hovered=false;
this._isImageOnly=null;
this._itemsLoaded=false;
this._itemsLoading=false;
this._adjustSiblingsWidthOnShow=false;
this._state=Telerik.Web.UI.RadMenuItemState.Closed;
this._linkElement=null;
this._imageElement=null;
this._childListElement=null;
this._scrollWrapElement=null;
this._slideWrapElement=null;
this._animatedElement=null;
this._animationContainer=null;
this._childrenDetached=false;
this._autoScrollActive=false;
this._collapseAnimationEndedDelegate=null;
this._slide=null;
this._scroller=null;
this._styleCssText=null;
};
Telerik.Web.UI.RadMenuItem.prototype={_initialize:function(json,_117){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"_initialize",[json,_117]);
var menu=this.get_menu();
if(typeof (json.groupSettings)!="undefined"){
this._groupSettings=new Telerik.Web.UI.RadMenuItemGroupSettings(json.groupSettings,menu.get_defaultGroupSettings());
}
this._initializeAnimation();
this._updateTextElementClass();
this._renderAccessKey();
},_dispose:function(){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"_dispose");
if(this._collapseAnimationEndedDelegate){
if(this._slide){
this._slide.remove_collapseAnimationEnded(this._collapseAnimationEndedDelegate);
}
this._collapseAnimationEndedDelegate=null;
}
if(this._slide){
this._slide.dispose();
this._slide=null;
}
if(this._scroller){
this._scroller.dispose();
this._scroller=null;
}
var _119=this._getAnimationContainer();
if(_119){
_119._item=null;
_119._itemTypeName=null;
}
this._clearTimeout();
},_initializeRenderedItem:function(){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"_initializeRenderedItem");
this._initializeAnimation();
this._updateTextElementClass();
this._updateLinkClass();
this._renderAccessKey();
},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 _11a=this._getSlideWrapElement();
if(_11a){
var _11b=_11a;
var _11c=this._getScrollWrapElement();
if(_11c){
_11b=_11c;
}
this._childListElement=$telerik.getFirstChildByTagName(_11b,"ul",0);
}
}
return this._childListElement;
},get_imageElement:function(){
if(!this._imageElement){
var _11d=this.get_linkElement();
var _11e=this.get_element();
this._imageElement=$telerik.getFirstChildByTagName(_11d||_11e,"img",0);
}
return this._imageElement;
},get_textElement:function(){
var link=this.get_linkElement();
if(link){
return $telerik.getChildByClassName(link,"rmText",0);
}else{
return null;
}
},get_menu:function(){
return this._getControl();
},get_items:function(){
return this._getChildren();
},set_text:function(_120){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"set_text",[_120]);
this._adjustSiblingsWidthOnShow=true;
},get_navigateUrl:function(){
return this._getNavigateUrl();
},set_navigateUrl:function(_121){
this._properties.setValue("navigateUrl",_121,true);
if(this.get_linkElement()){
this.get_linkElement().href=_121;
}
},get_target:function(){
return this._properties.getValue("target",null);
},set_target:function(_122){
this._properties.setValue("target",_122);
if(this.get_linkElement()){
this.get_linkElement().target=_122;
}
},get_groupSettings:function(){
return this._groupSettings;
},set_groupSettings:function(_123){
this._groupSettings=_123;
},_getNextItem:function(){
var _124=this.get_parent().get_items();
var _125=this.get_index();
if(_125==_124.get_count()-1){
return _124.getItem(0);
}
return _124.getItem(_125+1);
},_getPreviousItem:function(){
var _126=this.get_parent().get_items();
var _127=this.get_index();
if(_127==0){
return _126.getItem(_126.get_count()-1);
}
return _126.getItem(_127-1);
},_focus:function(e){
this._setFocused(true,e);
},_blur:function(e){
this._setFocused(false,e);
},_setFocused:function(_12a,e){
if(_12a){
this._doFocus(e);
}else{
this._doBlur(e);
}
this._focused=_12a;
this._updateLinkClass();
},_open:function(e){
var menu=this.get_menu();
var _12e=new Telerik.Web.UI.RadMenuItemOpeningEventArgs(this,e);
menu._raiseEvent("itemOpening",_12e);
if(_12e.get_cancel()){
return;
}
if(this._isWebServiceCallNeeded()){
this._loadChildrenFromWebService();
return;
}
this._doOpen(e);
},_close:function(e){
if(this.get_isSeparator()||this._state==Telerik.Web.UI.RadMenuItemState.Closed){
return;
}
var _130=new Telerik.Web.UI.RadMenuItemClosingEventArgs(this,e);
this.get_menu()._raiseEvent("itemClosing",_130);
if(_130.get_cancel()){
return;
}
if(this._openedItem){
this._openedItem._close(e);
}
var _131=this.get_parent();
_131._openedItem=null;
if(!this._getAnimationContainer()){
return;
}
this._state=Telerik.Web.UI.RadMenuItemState.Closed;
var menu=this.get_menu();
if(this.get_level()==0){
menu._aboutToCollapse=true;
}
if(!this._getIsImageOnly()){
this.get_element().style.zIndex=0;
}
this._slide.collapse();
this._updateLinkClass();
this._updateImageSrc();
var _133=new Telerik.Web.UI.RadMenuItemClosedEventArgs(this,e);
this.get_menu()._raiseEvent("itemClosed",_133);
this._closeChildren(e);
},get_nextItem:function(){
return this.get_nextSibling();
},get_previousItem:function(){
return this.get_previousSibling();
},get_focusedItem:function(){
return this._focusedItem;
},get_isSeparator:function(){
return this._properties.getValue("isSeparator",false);
},set_isSeparator:function(_134){
this._properties.setValue("isSeparator",_134,true);
},get_openedItem:function(){
return this._openedItem;
},get_templated:function(){
return this._properties.getValue("templated",false)==true;
},get_cssClass:function(){
return this._properties.getValue("cssClass","");
},set_cssClass:function(_135){
this._properties.setValue("cssClass",_135,true);
},get_focused:function(){
return this._focused;
},set_focused:function(_136){
this._setFocused(_136);
},get_hoveredImageUrl:function(){
return this._properties.getValue("hoveredImageUrl",null);
},set_hoveredImageUrl:function(_137){
this._properties.setValue("hoveredImageUrl",_137,true);
this._updateImageSrc();
},get_clickedImageUrl:function(){
return this._properties.getValue("clickedImageUrl",null);
},set_clickedImageUrl:function(_138){
this._properties.setValue("clickedImageUrl",_138,true);
this._updateImageSrc();
},get_imageUrl:function(){
if(!this._imageUrl){
var _139=this.get_imageElement();
if(_139){
this._imageUrl=_139.src;
}
}
return this._imageUrl;
},set_imageUrl:function(_13a){
this._imageUrl=_13a;
this._properties.setValue("imageUrl",_13a,true);
this._updateImageSrc();
},set_visible:function(_13b){
var _13c=this.get_visible()!=_13b;
if(!_13c){
return;
}
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"set_visible",[_13b]);
this._adjustSiblingsWidthOnShow=true;
this._clearWidth();
var _13d=_13b?"":"none";
var _13e=this.get_linkElement();
var _13f=this.get_textElement();
var _140;
if(_13e){
_140=_13e;
}else{
if(_13f){
_140=_13f;
}
}
if(this.get_isSeparator()||this.get_templated()){
_140=this.get_element().childNodes[0];
}
_140.style.display=_13d;
if(this.get_visible()){
this.get_element().style.cssText=this._styleCssText;
}else{
this._styleCssText=this.get_element().style.cssText;
this.get_element().style.cssText="padding:0px;margin:0px;height:0px;overflow:hidden;";
}
var _141=this._getParentFlow();
if(_141==Telerik.Web.UI.ItemFlow.Vertical){
if(!_13b){
this._clearSiblingsWidth();
}
var _142=this.get_parent();
if(_142.get_element().offsetWidth>0){
Telerik.Web.UI.RadMenu._adjustChildrenWidth(_142);
}
}
},get_expandedImageUrl:function(){
return this._properties.getValue("expandedImageUrl",null);
},set_expandedImageUrl:function(_143){
this._properties.setValue("expandedImageUrl",_143,true);
this._updateImageSrc();
},get_disabledImageUrl:function(){
return this._properties.getValue("disabledImageUrl",null);
},set_disabledImageUrl:function(_144){
this._properties.setValue("disabledImageUrl",_144,true);
this._updateImageSrc();
},get_disabledCssClass:function(){
return this._properties.getValue("disabledCssClass",this._defaultDisabledCssClass);
},set_disabledCssClass:function(_145){
this._properties.setValue("disabledCssClass",_145,true);
this._updateLinkClass();
},get_expandedCssClass:function(){
return this._properties.getValue("expandedCssClass",this._defaultExpandedCssClass);
},set_expandedCssClass:function(_146){
this._properties.setValue("expandedCssClass",_146,true);
this._updateLinkClass();
},get_focusedCssClass:function(){
return this._properties.getValue("focusedCssClass",this._defaultFocusedCssClass);
},set_focusedCssClass:function(_147){
this._properties.setValue("focusedCssClass",_147,true);
this._updateLinkClass();
},get_clickedCssClass:function(){
return this._properties.getValue("clickedCssClass",this._defaultClickedCssClass);
},set_clickedCssClass:function(_148){
this._properties.setValue("clickedCssClass",_148,true);
this._updateLinkClass();
},get_postBack:function(){
return this._properties.getValue("postBack",true)==true;
},set_postBack:function(_149){
this._properties.setValue("postBack",_149);
},get_expandMode:function(){
return this._properties.getValue("expandMode",Telerik.Web.UI.MenuItemExpandMode.ClientSide);
},set_expandMode:function(_14a){
this._properties.setValue("expandMode",_14a,true);
},set_enabled:function(_14b){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"set_enabled",[_14b]);
this._updateLinkClass();
},open:function(){
this._open(null);
},close:function(){
this._close(null);
},hide:function(){
this.set_visible(false);
},show:function(){
this.set_visible(true);
},focus:function(){
this._setFocused(true,null);
},blur:function(){
this._blur(null);
},focusFirstChild:function(e){
var _14d=this.get_items();
if(_14d.get_count()==0){
return;
}
var item=_14d.getItem(0);
var _14f=item;
while(!item._canFocus()){
item=item._getNextItem();
if(item==_14f){
return;
}
}
item._focus(e||null);
},focusLastChild:function(e){
var _151=this.get_items();
if(_151.get_count()==0){
return;
}
var item=_151.getItem(_151.get_count()-1);
var _153=item;
while(!item._canFocus()){
item=item._getPreviousItem();
if(item==_153){
return;
}
}
item._focus(e||null);
},focusNextItem:function(e){
var item=this._getNextItem();
while(!item._canFocus()){
item=item._getNextItem();
}
item._focus(e||null);
},focusPreviousItem:function(e){
var item=this._getPreviousItem();
while(!item._canFocus()){
item=item._getPreviousItem();
}
item._focus(e||null);
},disable:function(){
this.set_enabled(false);
},enable:function(){
this.set_enabled(true);
},click:function(){
this._click(null);
},_modifyPositionClass:function(){
var _158=this._getVisibleIndex();
if(_158==0){
var _159=this._getNextVisibleSibling(this.get_index());
var _15a=this.get_visible()?"rmItem":"rmItem rmFirst";
var _15b=this.get_visible()?"rmItem rmFirst":"rmItem";
this._replaceCssClass(this.get_element(),_15a,_15b);
this._replaceCssClass(_159.get_element(),_15b,_15a);
}
if(_158==this._getVisibleSiblingsCount()){
var _15c=this._getPreviousVisibleSibling(this.get_index());
var _15a=this.get_visible()?"rmItem":"rmItem rmLast";
var _15b=this.get_visible()?"rmItem rmLast":"rmItem";
this._replaceCssClass(this.get_element(),_15a,_15b);
this._replaceCssClass(_15c.get_element(),_15b,_15a);
}
},_getSiblings:function(){
return this.get_parent().get_items();
},_getVisibleIndex:function(){
var _15d=this._getSiblings();
if(this.get_index()==0){
return 0;
}
var _15e=0;
for(var i=0;i<=this.get_index();i++){
if(_15d.getItem(i).get_visible()){
_15e++;
}
}
return _15e;
},_getVisibleSiblingsCount:function(){
var _160=this._getSiblings();
var _161=0;
for(var i=0;i<_160.get_count();i++){
if(_160.getItem(i).get_visible()){
_161++;
}
}
return _161;
},_getPreviousVisibleSibling:function(_163){
var _164=this.get_parent().get_items();
for(var i=_163-1;i>=0;i--){
var item=_164.getItem(i);
if(item.get_visible()){
return item;
}
}
return null;
},_getNextVisibleSibling:function(_167){
var _168=this.get_parent().get_items();
for(var i=_167+1;i<_168.get_count();i++){
var item=_168.getItem(i);
if(item.get_visible()){
return item;
}
}
return null;
},_determineCssClass:function(){
var _16b="rmItem";
var _16c=this.get_parent();
var _16d=_16c.get_items().get_count();
var _16e=_16d-1;
if(this.get_index()==0&&_16d>0){
var _16f=_16c.get_items().getItem(1);
if(_16f&&_16f.get_element()){
if(_16f.get_index()==_16e){
this._replaceCssClass(_16f.get_element(),"rmItem rmFirst","rmItem rmLast");
}else{
this._replaceCssClass(_16f.get_element(),"rmItem rmFirst","rmItem");
}
}
_16b+=" "+"rmFirst";
}
if(this.get_index()==_16e&&_16d>0){
var _170=_16c.get_items().getItem(_16e-1);
if(_170&&_170.get_element()){
if(_170.get_index()==0){
this._replaceCssClass(_170.get_element(),"rmItem rmLast","rmItem rmFirst");
}else{
this._replaceCssClass(_170.get_element(),"rmItem rmLast","rmItem");
}
}
_16b+=" "+"rmLast";
}
if(this.get_isSeparator()){
_16b="rmItem"+" "+"rmSeparator";
}
return _16b;
},_renderImage:function(html){
html[html.length]="<img alt='' src='"+this.get_imageUrl()+"' class='rmLeftImage'";
if(!this.get_enabled()){
html[html.length]=" disabled='disabled'";
}
html[html.length]="/>";
return html;
},_renderLink:function(html){
if(this.get_isSeparator()){
return;
}
var href="#";
var _174=this.get_navigateUrl();
if(_174&&_174!="#"){
href=_174;
}
html[html.length]="<a href=\"";
html[html.length]=href;
html[html.length]="\" ";
var _175=this.get_target();
if(_175){
html[html.length]="target=\"";
html[html.length]=_175;
html[html.length]="\" ";
}
if(this.get_enabled()){
html[html.length]="class=\"rmLink\"";
}else{
html[html.length]="class=\"rmLink rmDisabled\"";
}
html[html.length]=">";
return html;
},_renderChildList:function(html){
var _177=this.get_items().get_count();
if(_177>0){
html[html.length]="<div class='rmSlide'>";
var _178=this.get_groupSettings();
var _179=_178.get_flow();
if(_179==0){
_179="rmVertical";
}else{
_179="rmHorizontal";
}
var _17a;
if(this._getRenderScroll()){
var _17b="rmLevel"+(this.get_level()+1);
var _17c="rmScrollWrap"+" "+"rmGroup"+" "+_17b;
html[html.length]="<div class='"+_17c+"' style='";
var _17d=_178.get_width();
var _17e=_178.get_height();
if(_17d){
html[html.length]="width :"+_17d+";";
}
if(_17e){
html[html.length]="height :"+_17e+";";
}
html[html.length]=" '>";
_17a=_179;
}else{
var _17b="rmLevel"+(this.get_level()+1);
_17a=_179+" "+"rmGroup"+" "+_17b;
}
html[html.length]="<ul class='"+_17a+"'>";
for(var i=0;i<_177;i++){
this.get_items().getItem(i)._render(html);
}
html[html.length]="</ul></div>";
if(this._getRenderScroll()){
html[html.length]="</div>";
}
}
},_doOpen:function(e){
var menu=this.get_menu();
if(this.get_items().get_count()==0){
return;
}
this._ensureChildControls();
var _182=this.get_parent();
menu._aboutToCollapse=false;
if(_182!=menu&&_182._state!=Telerik.Web.UI.RadMenuItemState.Open){
_182._open(e);
}
var _183=this._getAnimationContainer();
if(!_183){
return;
}
_182._openedItem=this;
this._state=Telerik.Web.UI.RadMenuItemState.Open;
var _184=this.get_childListElement();
_184.style.display="block";
_183.style.visibility="hidden";
this._slide.show();
if(this._groupSettings.get_flow()==Telerik.Web.UI.ItemFlow.Vertical){
Telerik.Web.UI.RadMenu._adjustChildrenWidth(this);
}else{
Telerik.Web.UI.RadMenu._adjustListWidth(this);
}
if(this._adjustSiblingsWidthOnShow){
this._adjustSiblingsWidth();
this._adjustSiblingsWidthOnShow=false;
}
this._resetAnimatedElementPosition();
this._slide.set_direction(this._getSlideDirection());
this._updateScrollWrapSize();
this._slide.updateSize();
this._positionChildContainer();
_183=this._getAnimationContainer();
_183.style.visibility="visible";
this.get_element().style.zIndex=_182.get_items().get_count()-this.get_index();
_183.style.zIndex=_182.get_items().get_count()+1;
menu._incrementZIndex(this._zIndexStep);
if(this._scroller){
this._scroller.updateState();
}
this._slide.expand();
this._updateLinkClass();
this._updateImageSrc();
var _185=new Telerik.Web.UI.RadMenuItemOpenedEventArgs(this,e);
this.get_menu()._raiseEvent("itemOpened",_185);
},_shouldInitializeChild:function(_186){
return true;
},_createChildListElement:function(){
var _187=document.createElement("ul");
var _188=this.get_groupSettings();
var _189=_188.get_flow();
if(_189==0){
_189="rmVertical";
}else{
_189="rmHorizontal";
}
var _18a=_189;
var _18b=this._createSlideWrapElement();
var _18c=_18b.firstChild!=null;
if(_18c){
_18b.firstChild.appendChild(_187);
}else{
var _18d="rmLevel"+(this.get_level()+1);
_18a+=" "+"rmGroup"+" "+_18d;
_18b.appendChild(_187);
}
_187.className=_18a;
this.get_element().appendChild(_18b);
this._initializeAnimation();
this._updateTextElementClass();
if(_18c){
this._initializeScroller();
}
return _18b;
},_createSlideWrapElement:function(){
var _18e=document.createElement("div");
_18e.className="rmSlide";
if(this._getRenderScroll()){
var _18f=this._createScrollWrapElement();
_18e.appendChild(_18f);
}
return _18e;
},_createScrollWrapElement:function(){
var _190=document.createElement("div");
var _191="rmLevel"+(this.get_level()+1);
var _192="rmScrollWrap"+" "+"rmGroup"+" "+_191;
_190.className=_192;
var _193=this.get_groupSettings();
var _194=_193.get_width();
var _195=_193.get_height();
if(_194){
_190.style.width=_194;
}
if(_195){
_190.style.height=_195;
}
return _190;
},_getRenderScroll:function(){
var _196;
var _197=this.get_groupSettings();
var _198=_197.get_width();
if(!_198){
_198=this.get_menu().get_defaultGroupSettings().get_width();
}
var _199=_197.get_height();
if(!_199){
_199=this.get_menu().get_defaultGroupSettings().get_height();
}
var _19a=_198||_199;
return _19a;
},_getChildElements:function(){
return $telerik.getChildrenByTagName(this.get_childListElement(),"li");
},_createItemCollection:function(){
var _19b=new Telerik.Web.UI.RadMenuItemCollection(this);
Telerik.Web.UI.RadMenu._createChildControls(this,_19b);
return _19b;
},_getSlideWrapElement:function(){
if(!this._slideWrapElement){
var _19c=$telerik.getFirstChildByTagName(this.get_element(),"div",1);
if(_19c&&Sys.UI.DomElement.containsCssClass(_19c,"rmSlide")){
this._slideWrapElement=_19c;
}
}
return this._slideWrapElement;
},_getScrollWrapElement:function(){
if(!this._scrollWrapElement){
var _19d=this._getSlideWrapElement();
if(_19d){
this._scrollWrapElement=$telerik.getFirstChildByTagName(_19d,"div",0);
}
}
return this._scrollWrapElement;
},_getAnimationContainer:function(){
if(!this._animationContainer){
var _19e=this.get_templated()?1:0;
this._animationContainer=$telerik.getFirstChildByTagName(this.get_element(),"div",_19e);
}
return this._animationContainer;
},_getAnimatedElement:function(){
if(!this._animatedElement){
this._animatedElement=this._getScrollWrapElement()||this.get_childListElement();
}
return this._animatedElement;
},_determineExpandDirection:function(){
var _19f=this.get_groupSettings();
if(_19f.get_expandDirection()!=Telerik.Web.UI.ExpandDirection.Auto){
return;
}
var _1a0=this._getParentFlow();
if(_1a0==Telerik.Web.UI.ItemFlow.Vertical){
if(this.get_menu().get_rightToLeft()){
_19f.set_expandDirection(Telerik.Web.UI.ExpandDirection.Left);
}else{
_19f.set_expandDirection(Telerik.Web.UI.ExpandDirection.Right);
}
}else{
_19f.set_expandDirection(Telerik.Web.UI.ExpandDirection.Down);
}
},_getSlideDirection:function(){
var _1a1=this.get_groupSettings().get_expandDirection();
if(_1a1==Telerik.Web.UI.ExpandDirection.Auto){
return null;
}
return _1a1;
},_getParentFlow:function(){
var _1a2=this.get_parent();
if(!_1a2){
return null;
}
if(_1a2==this.get_menu()){
return _1a2._flow;
}else{
return _1a2.get_groupSettings().get_flow();
}
},_initializeAnimation:function(){
this._determineExpandDirection();
var _1a3=this._getAnimatedElement();
if(_1a3){
var menu=this.get_menu();
this._slide=new Telerik.Web.UI.Slide(_1a3,menu.get_expandAnimation(),menu.get_collapseAnimation(),menu.get_enableOverlay());
this._slide.initialize();
this._slide.set_direction(this._getSlideDirection());
this._collapseAnimationEndedDelegate=Function.createDelegate(this,this._onCollapseAnimationEnded);
this._slide.add_collapseAnimationEnded(this._collapseAnimationEndedDelegate);
}
},_updateTextElementClass:function(){
var _1a5=this.get_textElement();
if(!_1a5){
return;
}
var _1a6="rmText ";
var _1a7=this.get_itemData()&&this.get_itemData().length>0;
if(_1a7||this.get_expandMode()==Telerik.Web.UI.MenuItemExpandMode.WebService){
_1a6+=" "+this._getExpandClassName();
}
_1a5.className=_1a6;
},_onCollapseAnimationEnded:function(_1a8,e){
var menu=this.get_menu();
this.get_element().style.zIndex=0;
menu._restoreZIndex();
if(this.get_level()==0&&menu.get_rightToLeft()){
var _1ab=menu.get_element();
_1ab.style.cssText=_1ab.style.cssText;
}
},_initializeScroller:function(){
var _1ac=this._getScrollWrapElement();
if(_1ac){
this._scroller=new Telerik.Web.UI.MenuItemScroller(this.get_childListElement(),this.get_groupSettings().get_flow());
this._scroller.initialize();
}
},_isAutoScrollPossible:function(){
var menu=this.get_menu();
var _1ae=this._getMaximumExpandSize();
var _1af=this._getAnimationContainer();
if(this.get_groupSettings().get_flow()==Telerik.Web.UI.ItemFlow.Vertical){
return (menu._autoScrollMinimumHeight<_1ae&&_1ae<=_1af.offsetHeight);
}else{
return (menu._autoScrollMinimumWidth<_1ae&&_1ae<=_1af.offsetWidth);
}
},_getMaximumExpandSize:function(){
var _1b0=this._slide.get_direction();
var _1b1=$telerik.getViewPortSize();
var _1b2=this._getAnimationContainer();
var _1b3=$telerik.getLocation(_1b2);
if(this.get_groupSettings().get_flow()==Telerik.Web.UI.ItemFlow.Vertical){
if(_1b0==Telerik.Web.UI.ExpandDirection.Up){
availableHeight=_1b2.offsetHeight+_1b3.y;
}else{
availableHeight=_1b1.height-_1b3.y-this._defaultScrollSize;
}
return availableHeight;
}else{
if(_1b0==Telerik.Web.UI.ExpandDirection.Left){
availableWidth=_1b3.x;
}else{
availableWidth=_1b1.width-_1b3.x;
}
return availableWidth;
}
return null;
},_initializeAutoScroll:function(){
this._buildScrollWrap();
this._initializeScroller();
this._animatedElement=null;
this._scrollWrapElement=null;
this._slide.set_animatedElement(this._getAnimatedElement());
},_removeAutoScroll:function(){
var _1b4=this.get_items();
var _1b5=_1b4.get_count();
for(var i=0;i<_1b5;i++){
_1b4.getItem(i)._removeAutoScroll();
}
this._attachChildren();
if(!this._scroller){
return;
}
this._scroller.dispose();
this._scroller=null;
var _1b7=this._getSlideWrapElement();
var _1b8=this.get_childListElement();
var _1b9=this._getScrollWrapElement();
_1b7.appendChild(_1b8);
_1b7.removeChild(_1b9);
_1b8.className=String.format("{0} {1} {2}{3}",this._getFlowCssClass(),this._groupCssClass,this._levelCssClass,this.get_level());
this._animatedElement=null;
this._scrollWrapElement=null;
this._slide.set_animatedElement(this._getAnimatedElement());
this._slide.updateSize();
},_updateAutoScrollSize:function(){
var _1ba=this._slide.get_direction();
var _1bb=$telerik.getViewPortSize();
var _1bc=this._getAnimationContainer();
var _1bd=$telerik.getLocation(_1bc);
var _1be=this._getScrollWrapElement();
_1be.style.height="";
_1be.style.width="";
var _1bf=this._getMaximumExpandSize();
if(this.get_groupSettings().get_flow()==Telerik.Web.UI.ItemFlow.Vertical){
_1be.style.height=_1bf+"px";
_1be.style.width=_1bc.style.width;
if(_1ba==Telerik.Web.UI.ExpandDirection.Up){
_1bc.style.top=-_1bf+"px";
}
}else{
_1be.style.width=_1bf+"px";
_1be.style.height=_1bc.style.height;
}
this._slide.updateSize();
this._scroller.resetState();
},_buildScrollWrap:function(){
var _1c0=this._getSlideWrapElement();
var _1c1=this.get_childListElement();
var _1c2=document.createElement("div");
_1c2.style.position="relative";
_1c2.style.overflow="hidden";
_1c1.className=this._getFlowCssClass();
_1c2.className=String.format("{0} {1} {2}{3}",this._scrollWrapCssClass,this._groupCssClass,this._levelCssClass,this.get_level());
_1c2.appendChild(_1c1);
_1c0.appendChild(_1c2);
},_updateScrollWrapSize:function(){
var _1c3=this._getScrollWrapElement();
var _1c4=this.get_childListElement();
if(!_1c3){
return;
}
if(!_1c3.style.height){
_1c3.style.height=_1c4.offsetHeight+"px";
}
if(this.get_groupSettings().get_flow()==Telerik.Web.UI.ItemFlow.Vertical){
_1c3.style.width=_1c4.offsetWidth+"px";
}
},_getWidth:function(){
var _1c5=this.get_linkElement();
if(_1c5){
return _1c5.offsetWidth;
}else{
return this.get_element().offsetWidth;
}
},_setWidth:function(_1c6){
var _1c7=this.get_linkElement();
if(!_1c7){
_1c7=this.get_element();
}
if(!_1c7){
return;
}
if($telerik.isOpera){
this.get_element().style.cssFloat="none";
}
var _1c8=parseInt(_1c6);
if(isNaN(_1c8)){
_1c7.style.width=_1c6;
_1c7.style.cssText=_1c7.style.cssText;
return;
}
var _1c9=_1c8;
var _1ca=$telerik.getPaddingBox(_1c7).horizontal;
var _1cb=$telerik.getBorderBox(_1c7).horizontal;
_1c9-=_1ca+_1cb;
if(_1c9<=0){
return;
}
var _1cc=_1c7.style.width;
if(!_1cc||_1c9!=_1cc){
_1c7.style.width=_1c9+"px";
}
},_clearWidth:function(){
this._setWidth("auto");
},_getData:function(){
var data=Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"_getData");
var _1ce=this.get_navigateUrl();
if(_1ce&&_1ce!="#"&&(location.href+"#"!==_1ce)){
data["navigateUrl"]=_1ce;
}
return data;
},_loadFromDictionary:function(data){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"_loadFromDictionary",[data]);
if(typeof (data.ExpandMode)!="undefined"&&data.ExpandMode!=Telerik.Web.UI.MenuItemExpandMode.ClientSide){
this.set_expandMode(data.ExpandMode);
}
if(data.NavigateUrl){
this.set_navigateUrl(data.NavigateUrl);
}
if(data.PostBack===false){
this.set_postBack(data.PostBack);
}
if(data.Target){
this.set_target(data.Target);
}
if(data.IsSeparator===true){
this.set_isSeparator(data.IsSeparator);
}
if(data.CssClass){
this.set_cssClass(data.CssClass);
}
if(typeof (data.DisabledCssClass)!="undefined"&&data.DisabledCssClass!=this._defaultDisabledCssClass){
this.set_disabledCssClass(data.DisabledCssClass);
}
if(typeof (data.ExpandedCssClass)!="undefined"&&data.ExpandedCssClass!=this._defaultExpandedCssClass){
this.set_expandedCssClass(data.ExpandedCssClass);
}
if(typeof (data.FocusedCssClass)!="undefined"&&data.FocusedCssClass!=this._defaultFocusedCssClass){
this.set_focusedCssClass(data.FocusedCssClass);
}
if(typeof (data.ClickedCssClass)!="undefined"&&data.ClickedCssClass!=this._defaultClickedCssClass){
this.set_clickedCssClass(data.ClickedCssClass);
}
if(data.ImageUrl){
this.set_imageUrl(data.ImageUrl);
}
if(data.HoveredImageUrl){
this.set_hoveredImageUrl(data.HoveredImageUrl);
}
if(data.ClickedImageUrl){
this.set_clickedImageUrl(data.ClickedImageUrl);
}
if(data.DisabledImageUrl){
this.set_disabledImageUrl(data.DisabledImageUrl);
}
if(data.ExpandedImageUrl){
this.set_expandedImageUrl(data.ExpandedImageUrl);
}
},_replaceCssClass:function(_1d0,_1d1,_1d2){
_1d0.className=_1d0.className.replace(_1d1,_1d2);
},_setChildContainerPosition:function(left,top){
var _1d5=this._getAnimationContainer();
var _1d6=this.get_parent();
var _1d7=null;
if(_1d6._getScrollWrapElement){
_1d7=_1d6._getScrollWrapElement();
}
if(_1d7){
this._detachChildren();
var _1d8=this.get_element();
top+=_1d8.offsetTop;
var _1d9=_1d6.get_childListElement();
var _1da=parseInt(_1d9.style.top);
if(isNaN(_1da)){
_1da=0;
}
if(this.get_groupSettings().get_offsetY()==0){
top+=_1da;
}
}
_1d5.style.left=(left+this.get_groupSettings().get_offsetX())+"px";
_1d5.style.top=(top+this.get_groupSettings().get_offsetY())+"px";
},_detachChildren:function(){
if(this._childrenDetached){
return;
}
var _1db=this._getAnimationContainer();
var _1dc=this.get_parent();
var _1dd=_1dc._getAnimationContainer();
if(!this._childrenDetached){
_1dd.appendChild(_1db);
this._childrenDetached=true;
_1db._item=this;
_1db._itemTypeName=Object.getTypeName(this);
}
},_attachChildren:function(){
if(this._childrenDetached){
var _1de=this.get_element();
_1de.appendChild(this._getAnimationContainer());
this._childrenDetached=false;
}
},_resetAnimatedElementPosition:function(){
var _1df=this._getAnimatedElement();
_1df.style.top="0px";
_1df.style.left="0px";
},_positionChildContainer:function(){
var _1e0=$telerik.getClientBounds();
var top=0;
var left=0;
var _1e3=this._slide._getAnimatedStyleProperty();
var _1e4=this.get_element();
var _1e5=_1e4.offsetHeight;
var _1e6=_1e4.offsetWidth;
var _1e7=this._getAnimationContainer();
var _1e8=_1e7.offsetHeight;
var _1e9=_1e7.offsetWidth;
var _1ea=this.get_groupSettings().get_expandDirection();
switch(_1ea){
case Telerik.Web.UI.ExpandDirection.Up:
top=-_1e8;
break;
case Telerik.Web.UI.ExpandDirection.Down:
top=_1e5;
break;
case Telerik.Web.UI.ExpandDirection.Left:
left=-_1e9;
break;
case Telerik.Web.UI.ExpandDirection.Right:
left=_1e6;
break;
}
var menu=this.get_menu();
if(menu.get_rightToLeft()&&this.get_level()==0){
left=_1e6-_1e9;
if(this._getParentFlow()==Telerik.Web.UI.ItemFlow.Vertical){
left-=_1e6;
}
}
this._setChildContainerPosition(left,top);
var _1ec=menu.get_enableAutoScroll();
var _1ed=menu.get_enableScreenBoundaryDetection();
var _1ee=false;
if(_1ec){
if(this._applyAutoScroll(left,top)){
_1ee=true;
}else{
if(this._autoScrollActive){
this._removeAutoScroll();
this._autoScrollActive=false;
}
if(_1ed){
var _1ef=this._adjustForScreenBoundaries(left,top);
_1ee=true;
this._applyAutoScroll(_1ef.adjustedLeft,_1ef.adjustedTop);
}
}
if(this._autoScrollActive){
this._updateAutoScrollSize();
}
}
if(_1ed&&!_1ee){
this._adjustForScreenBoundaries(left,top);
}
var _1f0=this.get_textElement();
if(_1f0){
_1f0.className="rmText "+this._getExpandClassName();
}
},_applyAutoScroll:function(_1f1,_1f2){
if(this._isAutoScrollPossible()){
if(!this._scroller){
this._initializeAutoScroll();
this._autoScrollActive=true;
this._setChildContainerPosition(_1f1,_1f2);
}
return true;
}
return false;
},_adjustForScreenBoundaries:function(left,top){
var _1f5=this._getAnimationContainer();
var _1f6=_1f5.offsetHeight;
var _1f7=_1f5.offsetWidth;
var _1f8=this.get_element();
var _1f9=_1f8.offsetHeight;
var _1fa=_1f8.offsetWidth;
var _1fb=this.get_groupSettings().get_expandDirection();
var _1fc=_1fb;
var _1fd=$telerik.getViewPortSize();
var _1fe=$telerik.getLocation(_1f5);
switch(_1fb){
case Telerik.Web.UI.ExpandDirection.Up:
if($telerik.elementOverflowsTop(_1f5)){
_1fc=Telerik.Web.UI.ExpandDirection.Down;
top=_1f9;
}
break;
case Telerik.Web.UI.ExpandDirection.Down:
if($telerik.elementOverflowsBottom(_1fd,_1f5)){
var _1ff=$telerik.getLocation(_1f8);
if(_1ff.y>_1f5.offsetHeight){
_1fc=Telerik.Web.UI.ExpandDirection.Up;
top=-_1f6;
}
}
break;
case Telerik.Web.UI.ExpandDirection.Left:
if($telerik.elementOverflowsLeft(_1f5)){
_1fc=Telerik.Web.UI.ExpandDirection.Right;
left=_1fa;
}
break;
case Telerik.Web.UI.ExpandDirection.Right:
if($telerik.elementOverflowsRight(_1fd,_1f5)){
_1fc=Telerik.Web.UI.ExpandDirection.Left;
left=-_1f7;
}
break;
}
switch(_1fc){
case Telerik.Web.UI.ExpandDirection.Down:
case Telerik.Web.UI.ExpandDirection.Up:
if($telerik.elementOverflowsRight(_1fd,_1f5)){
left=_1fd.width-(_1fe.x+_1f7);
}
break;
case Telerik.Web.UI.ExpandDirection.Left:
case Telerik.Web.UI.ExpandDirection.Right:
if($telerik.elementOverflowsBottom(_1fd,_1f5)){
top=_1fd.height-(_1fe.y+_1f6);
}
break;
}
this._setChildContainerPosition(left,top);
this._slide.set_direction(_1fc);
return {adjustedLeft:left,adjustedTop:top};
},_closeChildren:function(e){
var _201=this.get_items();
for(var i=0;i<_201.get_count();i++){
var _203=_201.getItem(i);
_203._stopAnimation();
_203._close(e);
}
},_stopAnimation:function(){
if(this._slide){
this._slide._stopAnimation();
}
},_preventClose:function(){
var _204=this.get_parent();
if(this._state==Telerik.Web.UI.RadMenuItemState.AboutToClose){
this._clearTimeout();
this._state=Telerik.Web.UI.RadMenuItemState.Open;
_204._openedItem=this;
}
if(_204._preventClose){
_204._preventClose();
}
},_setTimeout:function(_205,_206){
this._timeoutRef=setTimeout(_205,_206);
},_clearTimeout:function(){
if(this._timeoutRef){
clearTimeout(this._timeoutRef);
this._timeoutRef=null;
}
},_getExpandClassName:function(){
return "rmExpand"+this._getExpandClass();
},_getExpandClass:function(){
var _207=this._getSlideDirection();
switch(_207){
case Telerik.Web.UI.SlideDirection.Up:
return "Top";
case Telerik.Web.UI.SlideDirection.Down:
return "Down";
case Telerik.Web.UI.SlideDirection.Left:
return "Left";
case Telerik.Web.UI.SlideDirection.Right:
return "Right";
}
},_updateLinkClass:function(){
if(this.get_isSeparator()||this.get_templated()){
return;
}
var _208="rmLink "+this.get_cssClass();
if(this.get_focused()){
_208+=" "+this.get_focusedCssClass();
}
if(this._state==Telerik.Web.UI.RadMenuItemState.Open){
_208+=" "+this.get_expandedCssClass();
}
if(this._clicked){
_208+=" "+this.get_clickedCssClass();
}
if(!this.get_enabled()){
_208+=" "+this.get_disabledCssClass();
}
var _209=this.get_linkElement();
if(_209){
_209.className=_208;
}
},_updateImageSrc:function(){
var _20a=this.get_imageUrl();
if(this._hovered&&this.get_hoveredImageUrl()){
_20a=this.get_hoveredImageUrl();
}
if(this._state==Telerik.Web.UI.RadMenuItemState.Open&&this.get_expandedImageUrl()){
_20a=this.get_expandedImageUrl();
}
if(!this.get_enabled()&&this.get_disabledImageUrl()){
_20a=this.get_disabledImageUrl();
}
if(this._clicked&&this.get_clickedImageUrl()){
_20a=this.get_clickedImageUrl();
}
if(_20a&&this.get_element()){
var _20b=this.get_imageElement();
if(!_20b){
_20b=this._createImageElement();
}
_20a=_20a.replace(/&amp;/ig,"&");
if(_20a!=_20b.src){
_20b.src=_20a;
}
}
},_createImageElement:function(){
this._imageElement=document.createElement("img");
this._imageElement.className=this._leftImageCssClass;
if(!this.get_enabled()){
this._imageElement.disabled="disabled";
}
var _20c=this.get_linkElement()||this.get_element();
if(_20c.firstChild){
_20c.insertBefore(this._imageElement,_20c.firstChild);
}else{
_20c.appendChild(this._imageElement);
}
return this._imageElement;
},_click:function(e){
if(!this.get_enabled()){
return false;
}
var menu=this.get_menu();
var _20f=menu._getExtendedItemClickingEventArgs(new Telerik.Web.UI.RadMenuItemClickingEventArgs(this,e));
menu._raiseEvent("itemClicking",_20f);
if(_20f.get_cancel()){
return false;
}
if(menu.get_clickToOpen()&&this.get_level()==0){
if(menu._clicked){
this._close(e);
}else{
this._open(e);
}
menu._clicked=!menu._clicked;
}
var _210=menu._getExtendedItemClickedEventArgs(new Telerik.Web.UI.RadMenuItemClickedEventArgs(this,e));
menu._raiseEvent("itemClicked",_210);
if(this._shouldNavigate()){
return true;
}
if(this._shouldPostBack()){
menu._postback(this._getHierarchicalIndex());
}
return false;
},_shouldPostBack:function(){
if(!this.get_menu()){
return false;
}
return this.get_postBack()&&this.get_menu()._postBackReference;
},_canFocus:function(){
return (!this.get_isSeparator())&&this.get_enabled();
},_clearSiblingsWidth:function(){
var _211=this.get_parent();
var _212=_211.get_items();
for(var i=0;i<_212.get_count();i++){
var _214=_212.getItem(i);
if(_214!=this){
var _215=_214.get_linkElement();
if(_215){
_215.style.width="auto";
}
}
if($telerik.isSafari){
_211.get_childListElement().style.width="auto";
}
}
},_doFocus:function(e){
if(!this._canFocus()){
return;
}
this._ensureChildControls();
var _217=this.get_parent();
var _218=_217.get_openedItem();
if(_218&&_218!=this){
_218._close(e);
}
if(_217._state!=Telerik.Web.UI.RadMenuItemState.Open&&_217.open){
_217._open(e);
}
_217._focusedItem=this;
var menu=this.get_menu();
menu._focusedItem=this;
var _21a=this.get_linkElement();
if(!this.get_focused()&&_21a){
_21a.focus();
}
this.get_menu()._raiseEvent("itemFocus",new Telerik.Web.UI.RadMenuItemFocusEventArgs(this,e));
},_doBlur:function(e){
if(this.get_isSeparator()){
return;
}
if(this.get_focused()){
this.get_linkElement().blur();
}
this.get_parent()._focusedItem=null;
var menu=this.get_menu();
var _21d=this;
window.setTimeout(function(){
if(menu._focusedItem==_21d){
menu._focusedItem=null;
}
},100);
this.get_menu()._raiseEvent("itemBlur",new Telerik.Web.UI.RadMenuItemBlurEventArgs(this,e));
},_createChildControls:function(){
Telerik.Web.UI.RadMenuItem.callBaseMethod(this,"_createChildControls");
this._initializeScroller();
},_onScrollArrowMouseDown:function(_21e){
if(!this._scroller){
return;
}
this._scroller.changeScrollSpeed(Telerik.Web.UI.ScrollerSpeed.Fast);
},_onScrollArrowMouseUp:function(_21f){
if(!this._scroller){
return;
}
this._scroller.changeScrollSpeed(Telerik.Web.UI.ScrollerSpeed.Slow);
},_onScrollArrowMouseOver:function(_220){
if(!this._scroller){
return;
}
var _221=1;
if(_220==Telerik.Web.UI.ArrowPosition.Top||_220==Telerik.Web.UI.ArrowPosition.Left){
_221=-1;
}
this._scroller.startScroll(Telerik.Web.UI.ScrollerSpeed.Slow,_221);
},_onScrollArrowMouseOut:function(_222){
if(!this._scroller){
return;
}
this._scroller.stopScroll();
},_onKeyDown:function(e){
var _224=e.keyCode?e.keyCode:e.rawEvent.keyCode;
var rtl=this.get_menu().get_rightToLeft();
switch(_224){
case Sys.UI.Key.up:
if(!rtl){
this._onKeyboardUp(e);
}else{
this._onKeyboardDown(e);
}
break;
case Sys.UI.Key.down:
if(!rtl){
this._onKeyboardDown(e);
}else{
this._onKeyboardUp(e);
}
break;
case Sys.UI.Key.left:
if(!rtl){
this._onKeyboardLeft(e);
}else{
this._onKeyboardRight(e);
}
break;
case Sys.UI.Key.right:
if(!rtl){
this._onKeyboardRight(e);
}else{
this._onKeyboardLeft(e);
}
break;
case Sys.UI.Key.esc:
this._onKeyboardEsc(e);
break;
default:
return true;
}
e.preventDefault();
return false;
},_onKeyboardUp:function(e){
var _227=this._getParentFlow();
if(_227==Telerik.Web.UI.ItemFlow.Vertical){
this.focusPreviousItem(e);
}else{
this.focusLastChild(e);
}
},_onKeyboardDown:function(e){
var _229=this._getParentFlow();
if(_229==Telerik.Web.UI.ItemFlow.Vertical){
this.focusNextItem(e);
}else{
this.focusFirstChild(e);
}
},_onKeyboardLeft:function(e){
var _22b=this._getParentFlow();
if(_22b==Telerik.Web.UI.ItemFlow.Horizontal){
this.focusPreviousItem(e);
return;
}
var _22c=this.get_items();
var _22d=this.get_groupSettings();
if(_22c.get_count()>0&&_22d.get_expandDirection()==Telerik.Web.UI.ExpandDirection.Left){
this.focusFirstChild(e);
return;
}
var _22e=this.get_parent();
var _22f=null;
if(_22e.get_groupSettings){
var _22f=_22e.get_groupSettings();
}
if(_22f&&_22f.get_expandDirection()==Telerik.Web.UI.ExpandDirection.Right){
_22e._focus(e);
return;
}
var _230=this.get_menu().get_openedItem();
if(_230){
_230.focusPreviousItem(e);
}
},_onKeyboardRight:function(e){
var _232=this._getParentFlow();
if(_232==Telerik.Web.UI.ItemFlow.Horizontal){
this.focusNextItem(e);
return;
}
var _233=this.get_items();
var _234=this.get_groupSettings();
if(_233.get_count()>0&&_234.get_expandDirection()==Telerik.Web.UI.ExpandDirection.Right){
this.focusFirstChild(e);
return;
}
var _235=this.get_parent();
var _236=null;
if(_235.get_groupSettings){
var _236=_235.get_groupSettings();
}
if(_236&&_236.get_expandDirection()==Telerik.Web.UI.ExpandDirection.Left){
_235.focus();
return;
}
var _237=this.get_menu().get_openedItem();
if(_237){
_237.focusNextItem(e);
}
},_onKeyboardEsc:function(e){
var _239=this.get_parent();
var menu=this.get_menu();
if(_239==menu){
this._blur(e);
}else{
_239._close(e);
_239._focus(e);
}
},_render:function(html){
var _23c="rmItem";
var _23d=false;
if(this.get_parent().get_items().get_count()==1){
_23d=true;
}
html[html.length]="<li class='"+this._determineCssClass()+"'>";
this._renderLink(html);
if(this.get_imageUrl()){
this._renderImage(html);
}
html[html.length]="<span class='rmText'>";
html[html.length]=this.get_text();
html[html.length]="</span></a>";
var _23e=this.get_items();
var _23f=_23e.get_count();
this._renderChildList(html);
html[html.length]="</li>";
},_renderAccessKey:function(){
if(this.get_isSeparator()||this.get_templated()){
return;
}
var _240=this.get_linkElement();
if(!_240){
return;
}
var _241=this.get_linkElement().accessKey.toLowerCase();
if(!_241){
return;
}
var text=this.get_text();
var _243=text.toLowerCase().indexOf(_241);
if(text.toLowerCase().indexOf("<u>")!=-1){
return;
}
if(_243==-1){
return;
}
var _244=this.get_textElement();
_244.innerHTML=text.substr(0,_243)+"<u>"+text.substr(_243,1)+"</u>"+text.substr(_243+1,text.length);
},_getIsImageOnly:function(){
if(this._isImageOnly===null){
this._isImageOnly=this.get_imageElement()!=null;
}
return this._isImageOnly;
},_getFlowCssClass:function(){
if(this.get_groupSettings().get_flow()==Telerik.Web.UI.ItemFlow.Vertical){
return this._verticalCssClass;
}else{
return this._horizontalCssClass;
}
},_isWebServiceCallNeeded:function(){
if(this._itemsLoading){
return false;
}
return (!this._itemsLoaded&&this.get_expandMode()==Telerik.Web.UI.MenuItemExpandMode.WebService);
},_createLoadingItem:function(){
var _245=this.get_menu().get_loadingTemplate();
if(_245===""){
return;
}
var _246=new Telerik.Web.UI.RadMenuItem();
this.get_items().add(_246);
_246.set_text(_245);
},_removeLoadingItem:function(){
if(this.get_menu().get_loadingTemplate()===""){
return;
}
var _247=this.get_items().getItem(0);
this.get_items().remove(_247);
},_loadChildrenFromWebService:function(){
this.get_menu()._loadChildrenFromWebService(this);
},_onChildrenLoading:function(){
this._itemsLoading=true;
this._createLoadingItem();
this._doOpen(null);
},_onChildrenLoaded:function(){
this._removeLoadingItem();
this._itemsLoaded=true;
this._itemsLoading=false;
this._slide.updateSize();
if(this._hovered){
this._doOpen(null);
}
},_onChildrenLoadingError:function(){
this._close(null);
this._removeLoadingItem();
this._itemsLoaded=false;
this._itemsLoading=false;
},_adjustSiblingsWidth:function(){
var _248=this.get_parent();
if(_248){
this._clearSiblingsWidth();
Telerik.Web.UI.RadMenu._adjustChildrenWidth(_248);
}
}};
Telerik.Web.UI.RadMenuItem.registerClass("Telerik.Web.UI.RadMenuItem",Telerik.Web.UI.ControlItem);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadMenuItemCollection=function(_249){
Telerik.Web.UI.RadMenuItemCollection.initializeBase(this,[_249]);
};
Telerik.Web.UI.RadMenuItemCollection.prototype={};
Telerik.Web.UI.RadMenuItemCollection.registerClass("Telerik.Web.UI.RadMenuItemCollection",Telerik.Web.UI.ControlItemCollection);
Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.RadMenuItemGroupSettings=function(_24a,_24b){
this._flow=Telerik.Web.UI.ItemFlow.Vertical;
this._expandDirection=Telerik.Web.UI.ExpandDirection.Auto;
this._offsetX=0;
this._offsetY=0;
this._width=null;
this._height=null;
if(typeof (_24a.flow)!="undefined"){
this._flow=_24a.flow;
}else{
if(_24b){
this._flow=_24b.get_flow();
}
}
if(typeof (_24a.expandDirection)!="undefined"){
this._expandDirection=_24a.expandDirection;
}else{
if(_24b){
this._expandDirection=_24b.get_expandDirection();
}
}
if(typeof (_24a.offsetX)!="undefined"){
this._offsetX=_24a.offsetX;
}else{
if(_24b){
this._offsetX=_24b.get_offsetX();
}
}
if(typeof (_24a.offsetY)!="undefined"){
this._offsetY=_24a.offsetY;
}else{
if(_24b){
this._offsetY=_24b.get_offsetY();
}
}
if(typeof (_24a.width)!="undefined"){
this._width=_24a.width;
}else{
if(_24b){
this._width=_24b.get_width();
}
}
if(typeof (_24a.height)!="undefined"){
this._height=_24a.height;
}else{
if(_24b){
this._height=_24b.get_height();
}
}
};
Telerik.Web.UI.RadMenuItemGroupSettings.prototype={get_flow:function(){
return this._flow;
},set_flow:function(_24c){
this._flow=_24c;
},get_expandDirection:function(){
return this._expandDirection;
},set_expandDirection:function(_24d){
this._expandDirection=_24d;
},get_offsetX:function(){
return this._offsetX;
},set_offsetX:function(_24e){
this._offsetX=_24e;
},get_offsetY:function(){
return this._offsetY;
},set_offsetY:function(_24f){
this._offsetY=_24f;
},get_width:function(){
return this._width;
},set_width:function(_250){
this._width=_250;
},get_height:function(){
return this._height;
},set_height:function(_251){
this._height=_251;
}};
Telerik.Web.UI.RadMenuItemGroupSettings.registerClass("Telerik.Web.UI.RadMenuItemGroupSettings");
Telerik.Web.UI.MenuItemScroller=function(_252,_253){
this._leftArrowCssClass="rmLeftArrow";
this._rightArrowCssClass="rmRightArrow";
this._topArrowCssClass="rmTopArrow";
this._bottomArrowCssClass="rmBottomArrow";
this._leftArrowDisabledCssClass="rmLeftArrowDisabled";
this._rightArrowDisabledCssClass="rmRightArrowDisabled";
this._topArrowDisabledCssClass="rmTopArrowDisabled";
this._bottomArrowDisabledCssClass="rmBottomArrowDisabled";
this._arrowsZIndex=2000;
this._scroller=null;
this._childListElement=_252;
this._scrollElement=null;
this._orientation=null;
this._minScrollPosition=null;
this._itemFlow=_253;
this._scrollerPositionChangedDelegate=null;
this._decArrow=null;
this._incArrow=null;
};
Telerik.Web.UI.MenuItemScroller.prototype={initialize:function(){
this._childListElement.style.position="relative";
this._scrollElement=this._childListElement.parentNode;
this._orientation=Telerik.Web.UI.ScrollerOrientation.Horizontal;
if(this._itemFlow==Telerik.Web.UI.ItemFlow.Vertical){
this._orientation=Telerik.Web.UI.ScrollerOrientation.Vertical;
}
this._scroller=new Telerik.Web.UI.Scroller(this._childListElement,this._scrollElement,this._orientation);
this._scroller.initialize();
this._createArrows();
this._scroller.resetState();
this._scrollerPositionChangedDelegate=Function.createDelegate(this,this._onScrollerPositionChanged);
this._scroller.add_positionChanged(this._scrollerPositionChangedDelegate);
},dispose:function(){
if(this._scroller){
this._scroller.dispose();
this._scroller=null;
}
this._scrollerPositionChangedDelegate=null;
},updateState:function(){
this._updateScrollingLimits();
this._updateArrows();
},resetState:function(){
this._scroller.resetState();
},startScroll:function(_254,_255){
this._scroller.startScroll(_254,_255);
},changeScrollSpeed:function(_256){
this._scroller.changeScrollSpeed(_256);
},stopScroll:function(){
this._scroller.stopScroll();
},_createArrows:function(){
this._decArrow=this._createArrowDomElement();
this._incArrow=this._createArrowDomElement();
if(this._orientation==Telerik.Web.UI.ScrollerOrientation.Vertical){
this._decArrow.style.left="0px";
this._decArrow.style.top="0px";
this._incArrow.style.left="0px";
this._incArrow.style.bottom="0px";
}else{
this._decArrow.style.top="0px";
this._decArrow.style.left="-1px";
this._incArrow.style.top="0px";
this._incArrow.style.right="-1px";
}
},_createArrowDomElement:function(){
var _257=document.createElement("a");
_257.href="#";
_257.style.zIndex=this._arrowsZIndex;
_257.appendChild(document.createTextNode("&nbsp;"));
this._scrollElement.appendChild(_257);
return _257;
},_updateArrows:function(){
var _258=this._scroller.isAtMinPosition();
var _259=this._scroller.isAtMaxPosition();
if(_258){
this._decArrow.disabled="disabled";
this._setElementCssClass(this._decArrow,this._getDecArrowCssClass(false));
}else{
this._decArrow.disabled="";
this._setElementCssClass(this._decArrow,this._getDecArrowCssClass(true));
}
if(_259){
this._incArrow.disabled="disabled";
this._setElementCssClass(this._incArrow,this._getIncArrowCssClass(false));
}else{
this._incArrow.disabled="";
this._setElementCssClass(this._incArrow,this._getIncArrowCssClass(true));
}
},_updateScrollingLimits:function(){
var _25a=0;
var _25b=0;
var _25c=0;
if(this._orientation==Telerik.Web.UI.ScrollerOrientation.Vertical){
_25a=this._childListElement.offsetHeight-this._scrollElement.offsetHeight;
_25b=this._decArrow.offsetHeight;
_25c=this._incArrow.offsetHeight;
}else{
_25a=this._childListElement.offsetWidth-this._scrollElement.offsetWidth;
_25b=this._decArrow.offsetWidth;
_25c=this._incArrow.offsetWidth;
}
var _25d=0;
var _25e=_25a;
this._scroller.setScrollingLimits(_25d,_25e);
},_getDecArrowCssClass:function(_25f){
if(this._orientation==Telerik.Web.UI.ScrollerOrientation.Vertical){
return _25f?this._topArrowCssClass:this._topArrowDisabledCssClass;
}else{
return _25f?this._leftArrowCssClass:this._leftArrowDisabledCssClass;
}
},_getIncArrowCssClass:function(_260){
if(this._orientation==Telerik.Web.UI.ScrollerOrientation.Vertical){
return _260?this._bottomArrowCssClass:this._bottomArrowDisabledCssClass;
}else{
return _260?this._rightArrowCssClass:this._rightArrowDisabledCssClass;
}
},_setElementCssClass:function(_261,_262){
var _263=_261.className;
if(_263!=_262){
_261.className=_262;
}
},_onScrollerPositionChanged:function(_264,_265){
this._updateArrows();
}};
Telerik.Web.UI.MenuItemScroller.registerClass("Telerik.Web.UI.MenuItemScroller",null,Sys.IDisposable);


/* END Telerik.Web.UI.Menu.RadMenuScripts.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.2.723.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:faa3c25c-0b63-45d2-9c6e-561f75337212:393f5085:526d426:4b40c3e6:4fc2fd6d:9703c1f0:a9723048:a3f85c94:819163f9;AjaxControlToolkit, Version=3.0.20229.23640, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-US:e3bc87ee-a1fb-4392-a79f-fdd1c39f1899:e2e86ef9;AjaxControlToolkit, Version=3.0.20229.23640, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-US:e3bc87ee-a1fb-4392-a79f-fdd1c39f1899:1df13a87;AjaxControlToolkit, Version=3.0.20229.23640, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-US:e3bc87ee-a1fb-4392-a79f-fdd1c39f1899:8ccd9c1b';Sys.Application.remove_load(fn);};Sys.Application.add_load(fn);})();
