Type.registerNamespace("Telerik.Web.UI");
(function(){$telerik.toTagCloud=function(c){return c;
};
$telerik.findTagCloud=$find;
var b=$telerik.$;
var a=Telerik.Web.UI;
b.registerEnum(a,"TagCloudDistribution",{Linear:0,Logarithmic:1});
b.registerEnum(a,"TagCloudSorting",{NotSorted:0,AlphabeticAsc:1,AlphabeticDsc:2,WeightedAsc:3,WeightedDsc:4});
a.RadTagCloud=function(c){a.RadTagCloud.initializeBase(this,[c]);
this._clickDelegate=null;
this._postBackReference=null;
this._webServiceSettings=new a.WebServiceSettings({});
this._items=[];
this._enabled=true;
this._target="";
this._itemsElement=null;
};
a.RadTagCloud.prototype={initialize:function(){a.RadTagCloud.callBaseMethod(this,"initialize");
if(this._isRightToLeft()){Sys.UI.DomElement.addCssClass(this.get_element(),"rtcRtl");
}this._itemsElement=$telerik.getElementByClassName(this.get_element(),"rtcTagList");
this._createChildItems();
this._attachEvents(true);
this.raiseEvent("load",Sys.EventArgs.Empty);
},dispose:function(){this._attachEvents(false);
a.RadTagCloud.callBaseMethod(this,"dispose");
},repaint:function(){},_createChildItems:function(){var l=this.get_containerElement();
if(l!=null){var m=$telerik.getChildrenByTagName(l,"li"),k=m.length;
var g=this.get_target();
for(var c=0;
c<k;
c++){var j=m[c];
var d=$telerik.getChildrenByTagName(j,"a")[0];
var e=$create(a.RadTagCloudItem,{navigateUrl:d.getAttribute("href")},null,null,j);
var f=j.getAttribute("id");
if(f!=null){e.set_weight(parseFloat(f.substring(f.lastIndexOf("_")+1))||0);
j.removeAttribute("id");
}if(!this.get_enabled()){d.removeAttribute("href");
}e._setTarget(this._target);
var h=e.get_index();
m[c]._item=e;
this.get_items()[c]=e;
}this.requestItems();
}},_enableItems:function(j){var g=this.get_containerElement();
if(g!=null){var h=$telerik.getChildrenByTagName(g,"li");
var f=h.length;
for(var c=0;
c<f;
c++){var e=h[c];
var d=e._item;
if(j){d.set_navigateUrl(d.get_navigateUrl());
Sys.UI.DomElement.removeCssClass(this.get_element(),"rtcDisabled");
}else{Sys.UI.DomElement.addCssClass(this.get_element(),"rtcDisabled");
d.get_anchorElement().removeAttribute("href");
}}}},_setTargetToItems:function(){var f=this.get_items();
var d=f.length;
var c=this.get_target();
for(var g=0;
g<d;
g++){var e=f[g];
e._setTarget(c);
}},_attachEvents:function(c){var d=this.get_containerElement();
if(null==d){return;
}if(c!=false){this._clickDelegate=Function.createDelegate(this,this._mouseClickHandler);
$addHandler(d,"click",this._clickDelegate);
}else{$removeHandler(d,"click",this._clickDelegate);
this._clickDelegate=null;
}},_mouseClickHandler:function(d){if(!this.get_enabled()){$telerik.cancelRawEvent(d.rawEvent);
return false;
}var c=this._getItemFromEvent(d.target);
if(null!=c){var e=new a.RadTagCloudCancelEventArgs(c);
this.raiseEvent("itemClicking",e);
if(e.get_cancel&&e.get_cancel()){$telerik.cancelRawEvent(d.rawEvent);
return false;
}this.raiseEvent("itemClicked",new a.RadTagCloudEventArgs(c));
this._postback(c.get_index());
}},_postback:function(c){if(!this._postBackReference){return;
}var d=this._postBackReference.replace("arguments",c);
eval(d);
},_getItemFromEvent:function(c){if(c.tagName.toLowerCase()!="a"){return null;
}var e=this.get_containerElement();
var d=null;
while(null!=c&&c!=e&&c!=document){if(c.tagName.toLowerCase()=="li"&&null!=c._item&&Object.getTypeName(c._item)=="Telerik.Web.UI.RadTagCloudItem"){d=c._item;
}c=c.parentNode;
}return d;
},_isRightToLeft:function(){var d=null;
if(d==null){var c=this.get_element();
if(c){d=$telerik.isRightToLeft(c);
}}return d;
},get_containerElement:function(){if(!this._itemsElement){var c=this.get_element();
b(c).append('<ul class="rtcTagList"></ul>');
this._itemsElement=b("ul",c)[0];
}return this._itemsElement;
},get_items:function(){return this._items;
},get_enabled:function(){return this._enabled;
},set_enabled:function(c){if(this.get_isInitialized()&&this._enabled!=c){this._enableItems(c);
}this._enabled=c;
},get_target:function(){return this._target;
},set_target:function(d){var c=this._target!=d;
this._target=d;
if(this.get_isInitialized()&&c){this._setTargetToItems();
}this.updateClientState();
},get_height:function(){return this.get_element().style.height;
},set_height:function(c){if(typeof(c)=="number"){this.get_element().style.height=c+"px";
}else{this.get_element().style.height=c;
}},get_width:function(){return this.get_element().style.width;
},set_width:function(c){if(typeof(c)=="number"){this.get_element().style.width=c+"px";
}else{this.get_element().style.width=c;
}},addTagCloudItem:function(h,g){if(g<0){return;
}var k=this.get_containerElement();
var f=k.ownerDocument.createElement("li");
Sys.UI.DomElement.addCssClass(f,"rtcTagItem");
var l={accessKey:h.AccessKey,navigateUrl:h.NavigateUrl,tabIndex:h.TabIndex,text:h.Text,toolTip:h.ToolTip,value:h.Value,weight:h.Weight};
var e=$create(a.RadTagCloudItem,l,null,null,f);
if(this.get_renderItemWeight()){this._renderItemWeightElement(e);
}this._calculateMinMaxWeight(e);
if(g>=k.children.length||g==null){var i=k.lastChild;
if(i&&i.nodeType==3){k.insertBefore(f,i);
}else{k.appendChild(f);
}Array.add(this.get_items(),e);
}else{var j=k.firstChild;
var d=(j&&j.nodeType==3)?k.childNodes[g+1]:k.childNodes[g];
k.insertBefore(f,d);
Array.insert(this.get_items(),g,e);
}var c=h&&parseFloat(h.weight)||0;
if(this.get_items().length>1&&(c>this.get_maximalWeight()||c<this.get_minimalWeight())){this.repaint();
}else{this._setItemWidth(e);
this._setItemColor(e);
}return e;
},_calculateMinMaxWeight:function(c){if(c){var d=c.get_weight();
if(this.get_items().length==0){this.set_minimalWeight(d);
this.set_maximalWeight(d);
}else{if(d>this.get_maximalWeight()){this.set_maximalWeight(d);
}if(d<this.get_minimalWeight()){this.set_minimalWeight(d);
}}}},_setItemWidth:function(c){if(c&&c.get_element){b("a,span",c.get_element()).css({"font-size":this._calculateFontSize(c)+"px"});
}},_setItemColor:function(c){if(c&&c.get_element){b("a",c.get_element()).css({color:this._calculateColor(c)});
}},_calculateFontSize:function(c){var d=this.get_coefficient(c);
maxFontSize=parseFloat(this.get_maxFontSize()),minFontSize=parseFloat(this.get_minFontSize());
fontSizeOfCurrentTag=minFontSize+((maxFontSize-minFontSize)*d);
return Math.round(fontSizeOfCurrentTag)||1;
},get_coefficient:function(c){return(this.get_distribution()==a.TagCloudDistribution.Linear)?this.get_linearCoefficient(c):this.get_logarithmicCoefficient(c);
},get_linearCoefficient:function(d){var g=0,h=parseFloat(d.get_weight())||0,f=parseFloat(this.get_minimalWeight())||0,c=parseFloat(this.get_maximalWeight())||0,i=h-f,e=c-f;
if(e!=0){g=i/e;
}return g;
},get_logarithmicCoefficient:function(f){var g=parseFloat(this.get_minimalWeight())||0,c=parseFloat(this.get_maximalWeight())||0,e=parseFloat(f.get_weight())||0,i=(g<=0||Math.log(g)<0)?0:Math.log(g),j=(c<=0||Math.log(c)<0)?0:Math.log(c),d=(e<=0||Math.log(e)<0)?0:Math.log(e),h=0,k=d-i,l=j-i;
if(l!=0){h=k/l;
}return h;
},_calculateColor:function(e){var d="",l=this.get_minColor(),h=this.get_maxColor();
if(l&&h){var i=this._hexToRgb(l),j=this._hexToRgb(h),k=parseFloat(this.get_coefficient(e))||0;
if(k>1){k=1;
}if(k<0){k=0;
}var g=Math.round(i.r+(j.r-i.r)*k);
var c=Math.round(i.g+(j.g-i.g)*k);
var f=Math.round(i.b+(j.b-i.b)*k);
d=this._rgbValuesToHex(g,c,f);
}else{d=this.get_foreColor();
}return d;
},_rgbValuesToHex:function(g,c,f){var e="#";
var d=function(h){var i=parseInt(h,10).toString(16);
e=e+(i.length==1?"0"+i:i);
};
d(g);
d(c);
d(f);
d=null;
return e;
},_hexToRgb:function(c){if(!c){return null;
}var e={r:0,g:0,b:0};
if(c.indexOf("#")!=-1){c=c.substring(1,c.length);
}if(c.length==3){var d=function(f){return(f+f);
};
c=c.replace(/([0-9a-f])/gi,d);
}e.r=parseInt(c.substring(0,2),16);
e.g=parseInt(c.substring(2,4),16);
e.b=parseInt(c.substring(4,6),16);
return e;
},_resetMinimalMaximalWeight:function(){var h=this.get_items(),g=h[0]&&parseFloat(h[0].get_weight())||0,f=g;
for(var d=1,e=h.length;
d<e;
d++){var c=h[d].get_weight();
if(c<g){g=c;
}if(c>f){f=c;
}}if(this.get_minimalWeight()<g){this.set_minimalWeight(g);
}if(this.get_maximalWeight()>f){this.set_maximalWeight(f);
}},removeTagCloudItem:function(d,e){if(d&&d.get_element){var g=this.get_items(),f=d.get_element(),c=d.get_index();
d.dispose();
f.parentNode.removeChild(f);
g.splice(d.get_index(),1);
this._resetMinimalMaximalWeight();
if(e!==false){this.repaint();
}}},_renderItemWeightElement:function(c){if(c&&c.get_element){var d=c.get_element();
if(b("span",d).length==0){b(d).append("<span>("+(c.get_weight()||this.get_minimalWeightAllowed()||"0")+")</span>");
}}},repaint:function(){a.RadTagCloud.callBaseMethod(this,"repaint");
var f=this.get_items();
for(var d=0,e=f.length;
d<e;
d++){var c=f[d];
this._setItemWidth(c);
this._setItemColor(c);
}},requestItems:function(c){var d=this.get_webServiceSettings();
if(d.get_path()){this._loadChildrenFromWebService(c);
}else{return false;
}},_loadChildrenFromWebService:function(c){if(!this._webServiceLoader){this._initializeWebServiceLoader();
}var d=new Sys.CancelEventArgs();
d._context=c||null;
d.get_context=function(){return this._context;
};
d.set_context=function(f){this._context=f;
};
this.raiseEvent("itemsRequesting",d);
if(d.get_cancel()){return;
}var e={context:d.get_context()};
this._webServiceLoader.loadData(e);
},_initializeWebServiceLoader:function(){this._webServiceLoader=new a.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));
},get_webServiceSettings:function(){return this._webServiceSettings;
},set_webServiceSettings:function(d){var c=Sys.Serialization.JavaScriptSerializer.deserialize(d);
this._webServiceSettings=new a.WebServiceSettings(c);
},_onItemLoadingStarted:function(c,d){this._showLoadingSign(true);
},_showLoadingSign:function(c){var d=this.get_element();
if(c===true){b(this._itemsElement).css({height:this.get_containerElement().clientHeight||"",visibility:"hidden"});
Sys.UI.DomElement.addCssClass(d,"rtcLoading");
}else{b(this._itemsElement).css({height:"",visibility:""});
Sys.UI.DomElement.removeCssClass(d,"rtcLoading");
}},_onItemLoadingSuccess:function(e,f){var h=f.get_data(),g=this.get_items(),d=g.length;
if(d>0){for(var c=d-1;
c>=0;
c--){this.removeTagCloudItem(g[c],false);
}this.repaint();
}if(h&&h.length>0){for(var c=0;
c<h.length;
c++){this.addTagCloudItem(h[c]);
}this.raiseEvent("itemsRequested",Sys.EventArgs.Empty);
}this._showLoadingSign(false);
},_onItemLoadingError:function(c,f){var d=f.get_message();
if(!d){d="No error data available";
}var e=new Telerik.Web.UI.RadTagCloudErrorEventArgs(d);
this.raiseEvent("itemsRequestFailed",e);
if(!e.get_cancelErrorAlert()){alert("RadTagCloud items request failed :\n Exception="+d);
}this._showLoadingSign(false);
},saveClientState:function(){var c=["target"];
var g={};
var d=c.length;
for(var e=0;
e<d;
e++){var f=c[e];
g[f]=this["get_"+f]();
}return Sys.Serialization.JavaScriptSerializer.serialize(g);
}};
b.registerControlProperties(a.RadTagCloud,{minFontSize:"10px",maxFontSize:"20px",maxNumberOfItems:0,minimalWeightAllowed:0,renderItemWeight:false,minColor:"",maxColor:"",foreColor:"",minimalWeight:0,maximalWeight:0,distribution:a.TagCloudDistribution.Linear,sorting:a.TagCloudSorting.NotSorted});
b.registerControlEvents(a.RadTagCloud,["load","itemClicking","itemClicked","itemsRequested","itemsRequesting","itemsRequestFailed"]);
a.RadTagCloud.registerClass("Telerik.Web.UI.RadTagCloud",a.RadWebControl);
a.RadTagCloudEventArgs=function(c){a.RadTagCloudEventArgs.initializeBase(this);
this._item=c;
};
a.RadTagCloudEventArgs.prototype={get_item:function(){return this._item;
}};
a.RadTagCloudEventArgs.registerClass("Telerik.Web.UI.RadTagCloudEventArgs",Sys.EventArgs);
a.RadTagCloudErrorEventArgs=function(c){a.RadTagCloudErrorEventArgs.initializeBase(this);
this._cancelErrorAlert=false;
this._errorMessage=c;
};
a.RadTagCloudErrorEventArgs.prototype={get_errorMessage:function(){return this._errorMessage;
},get_cancelErrorAlert:function(){return this._cancelErrorAlert;
},set_cancelErrorAlert:function(c){this._cancelErrorAlert=c;
}};
a.RadTagCloudErrorEventArgs.registerClass("Telerik.Web.UI.RadTagCloudErrorEventArgs",Sys.EventArgs);
a.RadTagCloudCancelEventArgs=function(c){a.RadTagCloudCancelEventArgs.initializeBase(this);
this._item=c;
};
a.RadTagCloudCancelEventArgs.prototype={get_item:function(){return this._item;
}};
a.RadTagCloudCancelEventArgs.registerClass("Telerik.Web.UI.RadTagCloudCancelEventArgs",Sys.CancelEventArgs);
a.RadTagCloudItem=function(c){a.RadTagCloudItem.initializeBase(this,[c]);
this._accessKey=null;
this._index=-1;
this._navigateUrl=null;
this._tabIndex=null;
this._text=null;
this._value=null;
this._toolTip=null;
this._weight=null;
this._anchorElement=null;
};
a.RadTagCloudItem.prototype={initialize:function(){a.RadTagCloudItem.callBaseMethod(this,"initialize");
},dispose:function(){a.RadTagCloudItem.callBaseMethod(this,"dispose");
},_setTarget:function(c){if(c==""){this.get_anchorElement().removeAttribute("target");
return;
}this.get_anchorElement().setAttribute("target",c);
},get_accessKey:function(){if(!this._accessKey){var c=this.get_anchorElement();
this._accessKey=c.getAttribute("accessKey");
}return this._accessKey;
},set_accessKey:function(d){this._accessKey=d;
var c=this.get_anchorElement();
if(d){c.setAttribute("accessKey",this._accessKey);
}else{c.removeAttribute("accessKey");
}},get_index:function(){if(this._index==-1){var d=0;
var e=this.get_element();
var c=e.parentNode;
if(null!=c){var f=$telerik.getChildrenByTagName(c,"li");
if(null!=f){for(d=0;
d<f.length&&f[d]!=e;
d++){}if(d==f.length){d=0;
}}}this._index=d;
}return this._index;
},get_navigateUrl:function(){if(this._navigateUrl==null){var c=this.get_anchorElement();
this._navigateUrl=c.getAttribute("href");
}return this._navigateUrl;
},set_navigateUrl:function(d){this._navigateUrl=d;
var c=this.get_anchorElement();
c.setAttribute("href",this._navigateUrl||"javascript:void(0);",2);
},get_tabIndex:function(){if(!this._tabIndex){var c=this.get_anchorElement();
this._tabIndex=c.getAttribute("tabIndex");
}return this._tabIndex;
},set_tabIndex:function(d){this._tabIndex=d;
var c=this.get_anchorElement();
if(this._tabIndex){c.setAttribute("tabIndex",this._tabIndex);
}else{c.removeAttribute("tabIndex");
}},get_text:function(){if(this._text==null){var c=this.get_anchorElement();
if(c.textContent){this._text=c.textContent;
}else{if(c.innerText){this._text=c.innerText;
}}}return this._text;
},set_text:function(d){this._text=d||"";
var c=this.get_anchorElement();
if(!this._toolTip){c.setAttribute("title",this._text);
}if(c.textContent){c.textContent=this._text;
}else{if(c.innerText){c.innerText=this._text;
}}},get_value:function(){return this._value;
},set_value:function(c){this._value=c;
},get_toolTip:function(){if(this._toolTip==null){var c=this.get_anchorElement();
this._toolTip=c.getAttribute("title");
}return this._toolTip;
},set_toolTip:function(d){this._toolTip=d;
var c=this.get_anchorElement();
c.setAttribute("title",this._toolTip||this._text||"");
},get_weight:function(){return this._weight||0;
},set_weight:function(c){this._weight=c||0;
},get_anchorElement:function(){if(this._anchorElement==null){this._anchorElement=$telerik.getChildrenByTagName(this.get_element(),"a")[0]||this.createAnchor();
}return this._anchorElement;
},createAnchor:function(){var c=this.get_element();
b(c).append('<a rel="tag">&nbsp;</a>');
return c.lastChild;
}};
a.RadTagCloudItem.registerClass("Telerik.Web.UI.RadTagCloudItem",Sys.UI.Control);
})();
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
