(function($){$.hulbee={};$.hulbee.version='1.3.7.11(2878)';$.namespace=function(){var a=arguments,o=null,rt,namespaces;for(var i=0;i<a.length;i++){namespaces=a[i].split(".");rt=namespaces[0];eval('if (typeof '+rt+' == "undefined"){'+rt+' = {};} o = '+rt+';');for(var j=1;j<namespaces.length;j++){o[namespaces[j]]=o[namespaces[j]]||{};o=o[namespaces[j]]}}};$.ns=$.namespace;$.decodeURI=function(a){var b;try{b=decodeURI(a)}catch(error){b=decodeURI(unescape(a))}return b};$.getCSS=function(a){$("head").append('<link rel="stylesheet" type="text/css" href="'+a+'" />')};$.includeCSS=function(a){$("head").append('<link rel="stylesheet" type="text/css" href="'+a+'" />')};$.template=function(a,b){b=b||{};if(a){if(typeof a=='string'){$.extend(b,{text:a})}else if($.isArray(a)){$.extend(b,{text:a.join('')})}else if(typeof a=="object"&&!b.length){b=a}}$.extend(this,b||{})};$.extend($.template.prototype,{text:'',regExp:/\$\{([\w\-\.]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,helpers:[],apply:function(h){h=h||{};var j=this.helpers;var k=function(a,b,c,d){var e=undefined;if(String(b).indexOf('.')==-1)e=typeof h[b]!=="undefined"?h[b]:undefined;else{var f=b.split('.');if(typeof h[f[0]]!=="undefined"){var o=h[f[0]];for(var i=1;i<f.length&&o;i++){o=(typeof o[f[i]]!=="undefined")?o[f[i]]:undefined}e=(typeof o!==undefined)?o:undefined}else e=undefined}if(c&&typeof j[c]!=="undefined"){if(d){var g=/^\s*['"](.*)["']\s*$/;d=d.split(',');for(var i=0,len=d.length;i<len;i++){d[i]=d[i].replace(g,"$1")}d=[e].concat(d)}else d=[e];return j[c].apply(j,d)}else{return(typeof e!=="undefined")?e:a}};return this.text.replace(this.regExp,k)}});$.callback=function(a,b){if(typeof b==="undefined")b=a;if(typeof a=="string")a=b[a];var c=function(){a.apply(b,arguments)};return c};$.inherit=function(a,b){var c=function(){a.apply(this,arguments)};var d=function(){};d.prototype=a.prototype;c.prototype=new d();c.prototype.constructor=c;c.superclass=a.prototype;$.extend(c.prototype,b);return c};$.fn.getCmp=function(){return $(this).eq(0).data('hulbee-widget')};$.hulbee.register=function(b,constructor){$.fn[b]=function(){var a=arguments;$(this).each(function(){$.data(this,'hulbee-widget',new constructor(this,a[0]))});return $(this).eq(0)}};$.cookie={};$.cookie.set=function(a,b){var c=arguments;var d=arguments.length;var e=(d>2)?c[2]:null;var f=(d>3)?c[3]:'/';var g=(d>4)?c[4]:null;var h=(d>5)?c[5]:false;document.cookie=a+"="+escape(b)+((e===null)?"":("; expires="+e.toGMTString()))+((f===null)?"":("; path="+f))+((g===null)?"":("; domain="+g))+((h===true)?"; secure":"")};$.cookie.get=function(a){var b=" "+document.cookie;var c=" "+a+"=";var d=null;var e=0;var f=0;if(b.length>0){e=b.indexOf(c);if(e!=-1){e+=c.length;f=b.indexOf(";",e);if(f==-1){f=b.length}d=unescape(b.substring(e,f))}}return(d)};$.md5=function(j){var l=function(a,b){return(a<<b)|(a>>>(32-b))};var m=function(a,b){var c,lY4,lX8,lY8,lResult;lX8=(a&0x80000000);lY8=(b&0x80000000);c=(a&0x40000000);lY4=(b&0x40000000);lResult=(a&0x3FFFFFFF)+(b&0x3FFFFFFF);if(c&lY4)return(lResult^0x80000000^lX8^lY8);if(c|lY4){if(lResult&0x40000000)return(lResult^0xC0000000^lX8^lY8);else return(lResult^0x40000000^lX8^lY8)}else{return(lResult^lX8^lY8)}};var F=function(x,y,z){return(x&y)|((~x)&z)};var G=function(x,y,z){return(x&z)|(y&(~z))};var H=function(x,y,z){return(x^y^z)};var I=function(x,y,z){return(y^(x|(~z)))};var o=function(a,b,c,d,x,s,e){a=m(a,m(m(F(b,c,d),x),e));return m(l(a,s),b)};var p=function(a,b,c,d,x,s,e){a=m(a,m(m(G(b,c,d),x),e));return m(l(a,s),b)};var q=function(a,b,c,d,x,s,e){a=m(a,m(m(H(b,c,d),x),e));return m(l(a,s),b)};var r=function(a,b,c,d,x,s,e){a=m(a,m(m(I(b,c,d),x),e));return m(l(a,s),b)};var t=function(a){var b;var c=a.length;var d=c+8;var e=(d-(d%64))/64;var f=(e+1)*16;var g=Array(f-1);var h=0;var i=0;while(i<c){b=(i-(i%4))/4;h=(i%4)*8;g[b]=(g[b]|(a.charCodeAt(i)<<h));i++}b=(i-(i%4))/4;h=(i%4)*8;g[b]=g[b]|(0x80<<h);g[f-2]=c<<3;g[f-1]=c>>>29;return g};var u=function(a){var b="",WordToHexValueTemp="",lByte,lCount;for(lCount=0;lCount<=3;lCount++){lByte=(a>>>(lCount*8))&255;WordToHexValueTemp="0"+lByte.toString(16);b=b+WordToHexValueTemp.substr(WordToHexValueTemp.length-2,2)}return b};var v=function(a){a=a.replace(/\x0d\x0a/g,"\x0a");var b="";for(var n=0;n<a.length;n++){var c=a.charCodeAt(n);if(c<128){b+=String.fromCharCode(c)}else if((c>127)&&(c<2048)){b+=String.fromCharCode((c>>6)|192);b+=String.fromCharCode((c&63)|128)}else{b+=String.fromCharCode((c>>12)|224);b+=String.fromCharCode(((c>>6)&63)|128);b+=String.fromCharCode((c&63)|128)}}return b};var x=Array();var k,AA,BB,CC,DD,a,b,c,d;var w=7,S12=12,S13=17,S14=22;var A=5,S22=9,S23=14,S24=20;var B=4,S32=11,S33=16,S34=23;var C=6,S42=10,S43=15,S44=21;j=v(j);x=t(j);a=0x67452301;b=0xEFCDAB89;c=0x98BADCFE;d=0x10325476;for(k=0;k<x.length;k+=16){AA=a;BB=b;CC=c;DD=d;a=o(a,b,c,d,x[k+0],w,0xD76AA478);d=o(d,a,b,c,x[k+1],S12,0xE8C7B756);c=o(c,d,a,b,x[k+2],S13,0x242070DB);b=o(b,c,d,a,x[k+3],S14,0xC1BDCEEE);a=o(a,b,c,d,x[k+4],w,0xF57C0FAF);d=o(d,a,b,c,x[k+5],S12,0x4787C62A);c=o(c,d,a,b,x[k+6],S13,0xA8304613);b=o(b,c,d,a,x[k+7],S14,0xFD469501);a=o(a,b,c,d,x[k+8],w,0x698098D8);d=o(d,a,b,c,x[k+9],S12,0x8B44F7AF);c=o(c,d,a,b,x[k+10],S13,0xFFFF5BB1);b=o(b,c,d,a,x[k+11],S14,0x895CD7BE);a=o(a,b,c,d,x[k+12],w,0x6B901122);d=o(d,a,b,c,x[k+13],S12,0xFD987193);c=o(c,d,a,b,x[k+14],S13,0xA679438E);b=o(b,c,d,a,x[k+15],S14,0x49B40821);a=p(a,b,c,d,x[k+1],A,0xF61E2562);d=p(d,a,b,c,x[k+6],S22,0xC040B340);c=p(c,d,a,b,x[k+11],S23,0x265E5A51);b=p(b,c,d,a,x[k+0],S24,0xE9B6C7AA);a=p(a,b,c,d,x[k+5],A,0xD62F105D);d=p(d,a,b,c,x[k+10],S22,0x2441453);c=p(c,d,a,b,x[k+15],S23,0xD8A1E681);b=p(b,c,d,a,x[k+4],S24,0xE7D3FBC8);a=p(a,b,c,d,x[k+9],A,0x21E1CDE6);d=p(d,a,b,c,x[k+14],S22,0xC33707D6);c=p(c,d,a,b,x[k+3],S23,0xF4D50D87);b=p(b,c,d,a,x[k+8],S24,0x455A14ED);a=p(a,b,c,d,x[k+13],A,0xA9E3E905);d=p(d,a,b,c,x[k+2],S22,0xFCEFA3F8);c=p(c,d,a,b,x[k+7],S23,0x676F02D9);b=p(b,c,d,a,x[k+12],S24,0x8D2A4C8A);a=q(a,b,c,d,x[k+5],B,0xFFFA3942);d=q(d,a,b,c,x[k+8],S32,0x8771F681);c=q(c,d,a,b,x[k+11],S33,0x6D9D6122);b=q(b,c,d,a,x[k+14],S34,0xFDE5380C);a=q(a,b,c,d,x[k+1],B,0xA4BEEA44);d=q(d,a,b,c,x[k+4],S32,0x4BDECFA9);c=q(c,d,a,b,x[k+7],S33,0xF6BB4B60);b=q(b,c,d,a,x[k+10],S34,0xBEBFBC70);a=q(a,b,c,d,x[k+13],B,0x289B7EC6);d=q(d,a,b,c,x[k+0],S32,0xEAA127FA);c=q(c,d,a,b,x[k+3],S33,0xD4EF3085);b=q(b,c,d,a,x[k+6],S34,0x4881D05);a=q(a,b,c,d,x[k+9],B,0xD9D4D039);d=q(d,a,b,c,x[k+12],S32,0xE6DB99E5);c=q(c,d,a,b,x[k+15],S33,0x1FA27CF8);b=q(b,c,d,a,x[k+2],S34,0xC4AC5665);a=r(a,b,c,d,x[k+0],C,0xF4292244);d=r(d,a,b,c,x[k+7],S42,0x432AFF97);c=r(c,d,a,b,x[k+14],S43,0xAB9423A7);b=r(b,c,d,a,x[k+5],S44,0xFC93A039);a=r(a,b,c,d,x[k+12],C,0x655B59C3);d=r(d,a,b,c,x[k+3],S42,0x8F0CCC92);c=r(c,d,a,b,x[k+10],S43,0xFFEFF47D);b=r(b,c,d,a,x[k+1],S44,0x85845DD1);a=r(a,b,c,d,x[k+8],C,0x6FA87E4F);d=r(d,a,b,c,x[k+15],S42,0xFE2CE6E0);c=r(c,d,a,b,x[k+6],S43,0xA3014314);b=r(b,c,d,a,x[k+13],S44,0x4E0811A1);a=r(a,b,c,d,x[k+4],C,0xF7537E82);d=r(d,a,b,c,x[k+11],S42,0xBD3AF235);c=r(c,d,a,b,x[k+2],S43,0x2AD7D2BB);b=r(b,c,d,a,x[k+9],S44,0xEB86D391);a=m(a,AA);b=m(b,BB);c=m(c,CC);d=m(d,DD)}var D=u(a)+u(b)+u(c)+u(d);return D.toLowerCase()};$.jsonp=function(b){b=$.extend({},$.jsonp.defaults,b);var c=b.beforeSend;var d=function(v){return v!==undefined&&v!==null};if(d(c)){var e=0;b.abort=function(){e=1};if(c(b,b)===false||e)return b}var f=$('head'),empty="",amp="&",qMark="?",success="success",error="error",pageCache={},successCallback=b.success,completeCallback=b.complete,errorCallback=b.error,dataFilter=b.dataFilter,callbackParameter=b.callbackParameter,successCallbackName=b.callback,cacheFlag=b.cache,pageCacheFlag=b.pageCache,url=b.url,data=b.data,timeout=b.timeout,later=function(a){setTimeout(a,1)},splitUrl,splitData,i,j;url=d(url)?url:empty;data=d(data)?((typeof data)=="string"?data:$.param(data)):empty;d(callbackParameter)&&(data+=(data==empty?empty:amp)+escape(callbackParameter)+"=?");!cacheFlag&&!pageCacheFlag&&(data+=(data==empty?empty:amp)+"_"+(new Date()).getTime()+"=");splitUrl=url.split(qMark);if(data!=empty){splitData=data.split(qMark);j=splitUrl.length-1;j&&(splitUrl[j]+=amp+splitData.shift());splitUrl=splitUrl.concat(splitData)}i=splitUrl.length-2;i&&(splitUrl[i]+=successCallbackName+splitUrl.pop());var g=splitUrl.join(qMark),notifySuccess=function(a){d(dataFilter)&&(a=dataFilter(a));d(successCallback)&&successCallback(a,success);d(completeCallback)&&completeCallback(b,success)},notifyError=function(a){d(errorCallback)&&errorCallback(b,a);d(completeCallback)&&completeCallback(b,a)},pageCached=pageCache[g];if(pageCacheFlag&&d(pageCached)){later(function(){if(d(pageCached.e))notifyError(error);else notifySuccess(pageCached.s)});return b}var h=$("<iframe />").appendTo(f),tmp=h[0],window=tmp.contentWindow||tmp.contentDocument,document=window.document,done=0,cleanUp,errorFunction=function(_,a){pageCacheFlag&&!d(a)&&(pageCache[g]={e:1});cleanUp();notifyError(d(a)?a:error)},removeVariable=function(a){window[a]=undefined;try{delete window[a]}catch(_){}},errorCallbackName=successCallbackName=="E"?"X":"E";if(!d(document)){document=window;window=document.getParentNode()}document.open();window[successCallbackName]=function(a){done=1;pageCacheFlag&&(pageCache[g]={s:a});later(function(){cleanUp();notifySuccess(a)})};window[errorCallbackName]=function(a){(!a||a=="complete")&&!done++&&later(errorFunction)};b.abort=cleanUp=function(){removeVariable(errorCallbackName);removeVariable(successCallbackName);document.open();document.write(empty);document.close();h.remove()};later(function(){document.write(['<html><head><script src="',g,'" onload="',errorCallbackName,'()" onreadystatechange="',errorCallbackName,'(this.readyState)"></script></head><body onload="',errorCallbackName,'()"></body></html>'].join(empty));document.close();timeout>0&&setTimeout(function(){!done&&errorFunction(empty,"timeout")},timeout)});return b};$.jsonp.defaults={callback:"C",url:location.href};$.jsonp.setup=function(a){$.extend($.jsonp.defaults,a)};$.namespace('$.hulbee');$.hulbee.DataProvider=function(a){if(typeof a!="object"){a={}}this.initialConfig=a;$.extend(this,a||{});this.init()};$.extend($.hulbee.DataProvider.prototype,{appkey:'',autoLoad:false,cache:true,gatewayUrl:'',queryPattern:'',query:'',resultsOnPage:10,page:1,data:null,state:0,timeout:0,allowedWidgetTypes:{},registeredWidgets:{},urlPattern:null,loading:false,init:function(){if(!this.query&&typeof this.queryPattern==="string"&&this.queryPattern){this.query=this.extractQuery();if(this.restoreSession(this.query)){this.state=Math.round(Math.random()*10000)+1}}if(this.autoLoad){setTimeout($.callback(function(){this.load()},this),100)}},parseURL:function(d){var e={};var f=/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/;var g=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];var m=f.exec(d);for(var i=g.length;i;i--){e[g[i]]=$.decodeURI(m[i])||''}e.queryParams={};e.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(a,b,c){if(b){e.queryParams[b]=$.decodeURI(c)}});return e},extractQuery:function(){var h=this.parseURL(window.location.href);var i=this.parseURL(this.queryPattern);var j={};var k=this.queryPattern;var q=null;$.each(i.queryParams,function(e,f){var g=/(.*(?=\$\{query\}))(\$\{query\})+(.*)/gi;if(f.match(g)){var r=f.replace(g,function(a,b,c,d){b=b.replace(/([\/\.\*\?\+\^\$\(\)\{\}\[\]\|])/gi,'\\$1');d=d.replace(/([\/\.\*\?\+\^\$\(\)\{\}\[\]\|])/gi,'\\$1');return'('+b+')+(.*)('+d+')+'});var v=h.queryParams[e];var r=new RegExp(r,"gi");if(v&&v.match(r)){q=v.replace(r,function(a,b,c,d){return c})}else{q=''}if(q)k=($.decodeURI(window.location.href)).replace(e+'='+h.queryParams[e],e+'='+f);return false}});if(q===null){var l=this.queryPattern;var m=/(.*(?=\$\{query\}))(\$\{query\})+(.*)/gi;if(l.match(m)){var r=l.replace(m,function(a,b,c,d){b=b.replace(/([\/\.\*\?\+\^\$\(\)\{\}\[\]\|])/gi,'\\$1');d=d.replace(/([\/\.\*\?\+\^\$\(\)\{\}\[\]\|])/gi,'\\$1');return'('+b+')+(.*)('+d+')+'});var v=window.location.href;var r=new RegExp(r,"gi");if(v.match(r)){k=v.replace(r,function(a,b,c,d){q=$.decodeURI(c);return b+'${query}'+d})}else{q=''}}}this.urlPattern=k;return q||''},extractRegisteredWidgets:function(c){var d=new Array();if(!c)c=this.registeredWidgets;$.each(c,$.callback(function(a,b){if(b){switch(a){case'$.hulbee.cloud.Map':d.push('map');break;case'$.hulbee.search.List':d.push('searchlist');break}}},this));return d.join(';')},load:function(c,d){if(this.loading)return;if(!c){c=this.query}else{this.query=c}if(this.gatewayUrl){$.jsonp({url:this.gatewayUrl,data:{appkey:this.appkey,state:this.state,cache:this.cache,resultsOnPage:this.resultsOnPage,page:this.page,query:c,components:this.extractRegisteredWidgets(d)},callback:'jsonpcallback',callbackParameter:'callback',timeout:this.timeout,beforeSend:$.callback(function(a){this.loading=true;$(this).trigger('beforedataload',[this])},this),success:$.callback(function(a){this.data=a;this.loading=false;$(this).trigger('dataload',[this.data,this])},this),error:$.callback(function(a,b){this.data=null;this.loading=false;$(this).trigger('dataloaderror',[b,this])},this)})}},storeSession:function(a){var b=this.appkey+'-'+$.md5(a);var c=Math.round(Math.random()*10000);$.cookie.set(b,c)},restoreSession:function(a){var b=this.appkey+'-'+$.md5(a);var c=$.cookie.get(b);if(c!=null){$.cookie.set(b,0,new Date());return true}else{return false}},register:function(b){if(typeof b!="string"&&typeof b!="object")return;$.each(this.allowedWidgetTypes,$.callback(function(a,constructor){if((typeof b=="object"&&b instanceof constructor)||(typeof b=="string"&&b=="className")){this.registeredWidgets[a]=true;return false}},this))},unregister:function(b){if(typeof b!="string"&&typeof b!="object")return;$.each(this.allowedWidgetTypes,$.callback(function(a,constructor){if((typeof b=="object"&&b instanceof constructor)||(typeof b=="string"&&b=="className")){delete this.registeredWidgets[a];return false}},this))}});$.hulbee.DataProvider.instance=null;$.hulbee.DataProvider.getInstance=function(a){if($.hulbee.DataProvider.instance===null){$.hulbee.DataProvider.instance=new $.hulbee.DataProvider(a)}else $.extend($.hulbee.DataProvider.instance,a||{});return $.hulbee.DataProvider.instance};$.hulbee.DataProvider.registerClass=function(a,constructor){try{$.hulbee.DataProvider.prototype.allowedWidgetTypes[a]=constructor;return true}catch(e){return false}};$.namespace('$.hulbee');$.hulbee.loadMask=function(a,b,c){this.parent=a;if(b&&!(b instanceof $.template)){b=new $.template(b)}if(typeof c!=="undefined"){this.baseClass=c}this.init()};$.extend($.hulbee.loadMask.prototype,{parent:null,baseClass:'hulbee-el-mask',msgTemplate:new $.template('<div class="hulbee-mask-loading">Loading...</div>'),init:function(){$(this.parent).css('position','relative');this.HTMLElement=$('<div></div>');$(this.HTMLElement).addClass(this.baseClass).css({'position':'absolute','left':0,'top':0,'z-index':999,'display':'none'});$(this.HTMLElement).append(this.msgTemplate.apply({}));$(this.HTMLElement).appendTo(this.parent)},show:function(){$(this.HTMLElement).css({'width':parseInt($(this.parent).width())+parseInt($(this.parent).css('padding-left'))+parseInt($(this.parent).css('padding-right'))+'px','height':parseInt($(this.parent).height())+parseInt($(this.parent).css('padding-top'))+parseInt($(this.parent).css('padding-bottom'))+'px'});$(this.HTMLElement).show()},hide:function(){$(this.HTMLElement).hide()}});$.namespace('$.hulbee');$.hulbee.Toolbar=function(a){this.items=new Array();if(typeof a!="object"){a={}}if(a.baseTpl&&!(a.baseTpl instanceof $.template)){a.baseTpl=new $.template(a.baseTpl)}this.initialConfig=a;$.extend(this,a||{});this.init()};$.extend($.hulbee.Toolbar.prototype,{HTMLElement:null,parentCmp:null,additionalClass:'',baseClass:'hulbee-toolbar',baseTpl:new $.template('<div class="${panel.baseClass} ${panel.additionalClass}"></div>'),items:null,init:function(){$.each(this.items,$.callback(function(i,a){if(typeof a=="object"&&!(a instanceof $.hulbee.Toolbar.Item)){var constructor=(typeof a.type=="function")?a.type:$.hulbee.Toolbar.Item;this.items[i]=new constructor(a)}},this))},render:function(){this.HTMLElement=$(this.baseTpl.apply({widget:this.parentCmp,panel:this}));if(this.items){var b={panel:this,widget:this.parentCmp};$.each(this.items,$.callback(function(i,a){if(a instanceof $.hulbee.Toolbar.Item)$(this.HTMLElement).append(a.render(b))},this));this.bindItemsEvents()}$(this.HTMLElement).trigger('render',[this]);return this.HTMLElement},bindItemsEvents:function(){var b=this;var c=this.parentCmp;var d=(this.parentCmp)?this.parentCmp:this;$.each(this.items,$.callback(function(i,a){$(a.HTMLElement).click(function(e){$(d.HTMLElement).trigger('toolbaritemclick',[a,b,c])}).mouseover(function(e){$(d.HTMLElement).trigger('toolbaritemmouseover',[a,b,c])}).mouseout(function(e){$(d.HTMLElement).trigger('toolbaritemmouseout',[a,b,c])})},this))}});$.namespace('$.hulbee.Toolbar');$.hulbee.Toolbar.Item=function(a){if(a.baseTpl&&!(a.baseTpl instanceof $.template)){a.baseTpl=new $.template(a.baseTpl)}this.initialConfig=a;$.extend(this,a||{});this.init()};$.extend($.hulbee.Toolbar.Item.prototype,{HTMLElement:null,id:'',additionalClass:'',baseClass:'hulbee-toolbar-item',baseTpl:new $.template('<div id="${item.id}" class="${item.baseClass} ${item.additionalClass}"></div>'),type:$.hulbee.Toolbar.Item,init:function(){},render:function(a){var b={item:this};$.extend(b,a||{});this.HTMLElement=$(this.baseTpl.apply(b));return this.HTMLElement}});$.hulbee.Toolbar.ButtonItem=$.inherit($.hulbee.Toolbar.Item,{text:'',url:'',baseClass:'hulbee-toolbar-buttonitem',baseTpl:new $.template(['<div id="${item.id}" class="${item.baseClass} ${item.additionalClass}">','<a href="${item.url:url}">${item.text}</a>','</div>'],{helpers:{url:function(a){return(a)?a:'javascript:{}'}}}),handler:null,type:$.hulbee.Toolbar.ButtonItem,render:function(a){var b=(this.text instanceof $.template)?this.text:new $.template(this.text);this.text=b.apply(a);var b=(this.url instanceof $.template)?this.url:new $.template(this.url);this.url=b.apply(a);$.hulbee.Toolbar.ButtonItem.superclass.render.apply(this,[a]);if(this.handler){$(this.HTMLElement).click($.callback(function(e){e.stopPropagation();this.handler.apply(this,[this])},this))}return this.HTMLElement}});$.namespace('$.hulbee.cloud');$.hulbee.cloud.Relation=function(a){$.extend(this,a||{})};$.extend($.hulbee.cloud.Relation.prototype,{id1:null,id2:null,weight:0});$.hulbee.cloud.Relation.fromXml=function(a){var b={id1:$(a).attr('id1'),id2:$(a).attr('id2'),weight:$(a).attr('weight')};return new $.hulbee.cloud.Relation(b)};$.hulbee.cloud.Relation.fromJSON=function(a){var b={id1:a['@attributes'].id1,id2:a['@attributes'].id2,weight:a['@attributes'].weight};return new $.hulbee.cloud.Relation(b)};$.namespace('$.hulbee.cloud');$.hulbee.cloud.Entry=function(a){$.extend(this,a||{})};$.extend($.hulbee.cloud.Entry.prototype,{idDoc:null,field:'',startPos:null,length:0});$.hulbee.cloud.Entry.fromXml=function(a){var b={idDoc:$(a).attr('idDoc'),field:$(a).attr('field'),startPos:parseInt($(a).attr('startPos')),length:parseInt($(a).attr('length'))};return new $.hulbee.cloud.Entry(b)};$.hulbee.cloud.Entry.fromJSON=function(a){var b={idDoc:a['@attributes'].idDoc,field:a['@attributes'].field,startPos:parseInt(a['@attributes'].startPos),length:parseInt(a['@attributes'].length)};return new $.hulbee.cloud.Entry(b)};$.namespace('$.hulbee.cloud');$.hulbee.cloud.Word=function(a){if(a.wordTpl&&!(a.wordTpl instanceof $.template)){a.wordTpl=new $.template(a.wordTpl)}this.HTMLAttributes={x:0,y:0,width:0,height:0,size:0,font:'Arial',color:null};$.extend(this,a||{})};$.extend($.hulbee.cloud.Word.prototype,{HTMLElement:null,id:null,realId:null,word:'',type:'normal',linkWeight:0,icon:null,url:null,sortPosition:0,entries:[],baseIdPrefix:'hulbee-cloud-word',baseClassPrefix:'hulbee-cloud-word',wordTpl:new $.template(['<div id="${word.baseIdPrefix}-${word.id}" class="${word.baseClassPrefix}-${word.type} ','${word.baseClassPrefix}-size-${word.HTMLAttributes.size} ','${word.baseClassPrefix}-claster-${word.claster} ','${word.baseClassPrefix}-color-${word.HTMLAttributes.color}">','${word:icon}<a href="javascript:{}" title="${word.word}">${word.word}</a></div>'],{helpers:{icon:function(a){if(a.icon)return'<img src="'+a.icon+'" alt="" class="hulbee-cloud-word-icon" style="width: 16px; height: 16px;" />';else return''}}}),claster:null,HTMLAttributes:{},render:function(a,b){if(typeof a=="undefined")a=this.wordTpl;if(typeof a==="string")a=new $.template(a);var c={word:this};$.extend(c,b||{});this.HTMLElement=$(a.apply(c));$(this.HTMLElement).trigger('render',[this]);return this.HTMLElement},isSetExpression:function(){if(this.word.indexOf(' ')==-1)return false;else return true},getFirstQueryEntry:function(){for(var i=0;i<this.entries.length;i++){if(this.entries[i].field=="query"){return this.entries[i]}}}});$.hulbee.cloud.Word.fromXml=function(a,b){var c={type:b};c.sortPosition=$(a).attr('sortPosition');c.id=$('id',$(a)).text()+c.sortPosition;c.realId=$('id',$(a)).text();c.word=$('word',$(a)).text();c.linkWeight=$('linkWeight',$(a)).text();c.icon=$('icon',$(a)).text();c.entries=new Array();$('entry',$(a)).each(function(){c.entries.push($.hulbee.cloud.Entry.fromXml(this))});return new $.hulbee.cloud.Word(c)};$.hulbee.cloud.Word.fromJSON=function(b,c){var d={type:c,icon:b.icon,id:b.id,realId:b.id,linkWeight:b.linkWeight,sortPosition:b['@attributes'].sortPosition,word:b.word};if(b.entries){d.entries=new Array();$.each(typeof b.entries.entry[0]=="undefined"?b.entries:b.entries.entry,function(i,a){d.entries.push($.hulbee.cloud.Entry.fromJSON(a))})}return new $.hulbee.cloud.Word(d)};$.namespace('$.hulbee.cloud');$.hulbee.cloud.Data=function(a){$.extend(this,a||{});this.init()};$.extend($.hulbee.cloud.Data.prototype,{query:'',existingWords:[],relatedWords:[],relations:[],minLinkWeight:0,maxLinkWeight:0,minRelationWeight:null,maxRelationWeight:null,time:0,init:function(){this.sortKeywords('linkWeight','desc');for(var i=0;i<this.relations.length;i++){if((this.minRelationWeight===null)||(this.relations[i].weight<this.minRelationWeight)){this.minRelationWeight=this.relations[i].weight}if((this.maxRelationWeight===null)||(this.relations[i].weight>this.maxRelationWeight)){this.maxRelationWeight=this.relations[i].weight}}if(this.relatedWords.length||this.existingWords.length){this.minLinkWeight=(this.relatedWords.length)?this.relatedWords[this.relatedWords.length-1].linkWeight:this.existingWords[this.existingWords.length-1].linkWeight;this.maxLinkWeight=(this.existingWords.length)?this.existingWords[0].linkWeight:this.relatedWords[0].linkWeight}else{this.minLinkWeight=0;this.maxLinkWeight=0}},sortKeywords:function(c,d){var d=(d!='desc')?1:-1;var e=function(a,b){if(a[c]!=undefined&&b[c]!=undefined){return(a[c]>b[c])?1*d:a[c]!=b[c]?-1*d:0}else{return 0}};this.existingWords.sort(e);this.relatedWords.sort(e)},getKeyword:function(a,b){var c=this.existingWords.concat(this.relatedWords);for(var i=0;i<c.length;i++){if((b=='realId')&&(a==c[i].realId)){return c[i]}if(a==c[i].id){return c[i]}}return false},getKeywords:function(){return this.existingWords.concat(this.relatedWords)},getRelations:function(a){if(typeof a=="object")a=a.id;if(isNaN(parseInt(a)))return false;var b=new Array();for(var i=0,len=this.relations.length;i<len;i++){var c=parseInt(this.relations[i].id1);var d=parseInt(this.relations[i].id2);var e=parseInt(a);if((c==e)||(d==e)){b.push(this.relations[i])}}return b},getRelatedKeywords:function(a){if(typeof a=="object")a=a.id;if(isNaN(parseInt(a)))return false;var b=new Array();for(var i=0,len=this.relations.length;i<len;i++){var c=parseInt(this.relations[i].id1);var d=parseInt(this.relations[i].id2);var e=parseInt(a);if(c==e){var f=this.getKeyword(d,'realId');b.push(f)}else if(c==d){var f=this.getKeyword(e,'realId');b.push(f)}}return b},getFirstRelatedKeyword:function(a){if(typeof a=="object")a=a.id;if(!this.relations.length)return false;var b=this.getRelations(a);if(!b)return false;for(var i=0;i<b.length;i++){var c=this.getKeyword(b[i].id1,'realId');if((c.type=='normal')&&(b[i].weight>0.55)){return c}}return false}});$.hulbee.cloud.Data.fromXml=function(a){var b={existingWords:[],relatedWords:[],relations:[]};$('existingWord',$(a)).each(function(){b.existingWords.push($.hulbee.cloud.Word.fromXml(this,'query'))});$('relatedWord',$(a)).each(function(){b.relatedWords.push($.hulbee.cloud.Word.fromXml(this))});$('relation',$(a)).each(function(){b.relations.push($.hulbee.cloud.Relation.fromXml(this))});var c=[];for(var i=0;i<b.existingWords.length;i++){c.push((b.existingWords[i].word.indexOf(' ')==-1)?b.existingWords[i].word:'"'+b.existingWords[i].word+'"')}b.query=c.join(' ');return new $.hulbee.cloud.Data(b)};$.hulbee.cloud.Data.fromJSON=function(b){var c={query:'',existingWords:[],relatedWords:[],relations:[],time:b.workingTime};if(b.existingWords){$.each(typeof b.existingWords.existingWord[0]=="undefined"?b.existingWords:b.existingWords.existingWord,function(i,a){c.existingWords.push($.hulbee.cloud.Word.fromJSON(a,'query'))})}if(b.relatedWords){$.each(typeof b.relatedWords.relatedWord[0]=="undefined"?b.relatedWords:b.relatedWords.relatedWord,function(i,a){c.relatedWords.push($.hulbee.cloud.Word.fromJSON(a))})}if(b.relations){$.each(typeof b.relations.relation[0]=="undefined"?b.relations:b.relations.relation,function(i,a){c.relations.push($.hulbee.cloud.Relation.fromJSON(a))})}var d=[];for(var i=0;i<c.existingWords.length;i++){d.push((c.existingWords[i].word.indexOf(' ')==-1)?c.existingWords[i].word:'"'+c.existingWords[i].word+'"')}c.query=d.join(' ');return new $.hulbee.cloud.Data(c)};$.namespace('$.hulbee.cloud');$.hulbee.cloud.Map=function(a,b){this.HTMLElement=a;if(typeof b.height=="number"){b.height+='px'}if(typeof b.width=="number"){b.width+='px'}if(b.errorTpl&&!(b.errorTpl instanceof $.template)){b.errorTpl=new $.template(b.errorTpl)}if(b.nullResultsTpl&&!(b.nullResultsTpl instanceof $.template)){b.nullResultsTpl=new $.template(b.nullResultsTpl)}if(b.loadMask){if(typeof b.loadMask=="string"||b.loadMask instanceof $.template){b.loadMask=new $.hulbee.loadMask(this.HTMLElement,b.loadMask)}else if(!(b.loadMask instanceof $.hulbee.loadMask)){b.loadMask=new $.hulbee.loadMask(this.HTMLElement)}}if(b.topToolbar&&!(b.topToolbar instanceof $.hulbee.Toolbar)){b.topToolbar=new $.hulbee.Toolbar(b.topToolbar)}if(b.bottomToolbar&&!(b.bottomToolbar instanceof $.hulbee.Toolbar)){b.bottomToolbar=new $.hulbee.Toolbar(b.bottomToolbar)}if(typeof b.dataProvider=="object"&&!(b.dataProvider instanceof $.hulbee.DataProvider)){b.dataProvider=$.hulbee.DataProvider.getInstance(b.dataProvider)}this.initialConfig=b;$.extend(this,b||{});this.init()};$.extend($.hulbee.cloud.Map.prototype,{HTMLElement:null,animate:true,animateAppearance:true,animateFocus:false,appearanceFxSpeed:'def',appearanceFxDelay:25,focusFxSpeed:200,focusFxScale:1.2,baseClass:'hulbee-cloud-map',height:null,width:null,data:null,dataProvider:null,renderMode:1,constructQueryMode:true,highlightRelated:true,wordDefaults:{},showIcons:true,iconPath:'images/icons/',styleStepsCount:5,colorStepsCount:10,relationStepsCount:4,urlPattern:'',wordDisplayAttempts:100,minKeywordFontSize:8,loadMask:null,errorTpl:new $.template('<div class="hulbee-error-${errorType}"><span>${errorType} (${errorCode}):</span> ${errorMsg}</div>'),nullResultsTpl:new $.template('<p class="hulbee-cloud-result-null">Sorry, we did not find results for passed query.</p>'),topToolbar:new $.hulbee.Toolbar({additionalClass:'hulbee-cloud-toolbar-top',items:[{id:'reload',text:'&nbsp;',url:new $.template({text:'${widget.urlPattern:clearUrl}',helpers:{clearUrl:function(a){return(a)?a.replace('${query}',''):'javascript:{}'}}}),additionalClass:'hulbee-cloud-nav-reload',type:$.hulbee.Toolbar.ButtonItem}]}),bottomToolbar:new $.hulbee.Toolbar({additionalClass:'hulbee-cloud-toolbar-bottom',items:[{baseTpl:new $.template(['<div id="${item.id}" class="${item.baseClass} ${item.additionalClass}">','<a href="http://datacloud.hulbee.com" target="_blank">','<span></span>','</a></div>']),additionalClass:'hulbee-cloud-logo'}]}),rendered:false,clastersCount:0,clasterCenters:[],skippedWords:null,init:function(){if(this.baseClass){$(this.HTMLElement).addClass(this.baseClass)}if(this.height){$(this.HTMLElement).css('height',this.height)}if(this.width){$(this.HTMLElement).css('width',this.width)}this.bindHighlighting();if(this.bottomToolbar){this.bottomToolbar.parentCmp=this}if(this.topToolbar){this.topToolbar.parentCmp=this}if(this.data&&this.data instanceof $.hulbee.cloud.Data){this.render()}else if(this.dataProvider&&this.dataProvider instanceof $.hulbee.DataProvider){this.dataProvider.register(this);if(!this.urlPattern&&this.dataProvider.urlPattern)this.urlPattern=this.dataProvider.urlPattern;$(this.dataProvider).bind('beforedataload',$.callback(function(a){var b=$(this.HTMLElement).contents();if(this.loadMask)b=b.not(this.loadMask.HTMLElement);b.remove();if(this.loadMask)this.loadMask.show()},this));$(this.dataProvider).bind('dataload',$.callback(function(e,a){this.load(a)},this));$(this.dataProvider).bind('dataloaderror',$.callback(function(e,a,b){if(a=='timeout')this.error('Provider\'s load data timeout exceeded.',408,'error');else this.error('Some error occured.',500,'error')},this))}else{this.error('Can\'t find data provider or data for building the map.',400,'error')}},load:function(b){if(b.errors){$.each(b.errors,$.callback(function(i,a){this.error(a,500,'error')},this))}if(b.warnings){$.each(b.warnings,$.callback(function(i,a){this.error(a,500,'warning')},this))}if(b.errors)return;try{b=$.hulbee.cloud.Data.fromJSON(b.map.bIMap)}catch(error){b=null}if(b&&b instanceof $.hulbee.cloud.Data){this.data=b;this.clastersCount=0;this.clasterCenters=[];this.render();$(this.HTMLElement).trigger('load',[this,this.data]);if(this.loadMask)this.loadMask.hide()}else{this.error('Can\'t parse data passed by provider. Maybe the data was broken during transfering.',406,'error')}},error:function(a,b,c){if(!c)c='error';if(c=='error'&&this.loadMask)this.loadMask.hide();$(this.HTMLElement).append(this.errorTpl.apply({errorCode:b,errorMsg:a,errorType:c}))},prepareKeywords:function(){var a=this.data.getKeywords();var b=(this.data.maxLinkWeight-this.data.minLinkWeight)/(this.styleStepsCount-1);for(var i=0;i<a.length;i++){var c=a[i];if(c.claster===null){var d=this.data.getFirstRelatedKeyword(c.realId);if(d===false||d.claster===null){c.HTMLAttributes.color=this.clastersCount%this.colorStepsCount+1;c.claster=this.clastersCount++}else{c.HTMLAttributes.color=d.HTMLAttributes.color;c.claster=d.claster}}if(this.showIcons){if(this.iconPath.length&&c.icon){c.icon=this.iconPath+c.icon}}else{c.icon=null}if(this.urlPattern&&this.urlPattern.indexOf('${query}')!=-1){var e='';var f=(c.word.indexOf(' ')==-1)?c.word:'\"'+c.word+'\"';if(this.constructQueryMode){if(c.type=='normal'){e=$.trim(this.data.query+' '+f)}else if(c.type=='query'){var g=c.getFirstQueryEntry();e=$.trim(this.data.query.substr(0,g.startPos)+' '+this.data.query.substr(g.startPos+g.length))}e=encodeURIComponent(e)}else{e=encodeURIComponent(f)}c.url=this.urlPattern.replace('${query}',e).replace(/\$\{query\}/gi,'')}c.HTMLAttributes.x=0;c.HTMLAttributes.y=0;c.HTMLAttributes.size=Math.floor(c.linkWeight/b)+1;if(c.HTMLAttributes.size>this.styleStepsCount)c.HTMLAttributes.size=this.styleStepsCount}},correctKeywordSize:function(a,b,c){var d=parseInt($(a.HTMLElement).css('font-size'));while(d>this.minKeywordFontSize){--d;$(a.HTMLElement).css('font-size',d);a.HTMLAttributes.width=$(a.HTMLElement).width()+parseInt($(a.HTMLElement).css('padding-left'))+parseInt($(a.HTMLElement).css('padding-right'));a.HTMLAttributes.height=$(a.HTMLElement).height()+parseInt($(a.HTMLElement).css('padding-top'))+parseInt($(a.HTMLElement).css('padding-bottom'));if(a.HTMLAttributes.width<=b&&a.HTMLAttributes.height<=c)return}},render:function(){if(this.rendered){var a=$(this.HTMLElement).contents();if(this.loadMask)a=a.not(this.loadMask.HTMLElement);a.remove()}if(this.animate){if(this.animateAppearance){$(this.HTMLElement).one('render',$.callback(function(){this.bindAppearanceFx()},this))}if(this.animateFocus){$(this.HTMLElement).one('render',$.callback(function(){this.bindFocusFx()},this))}}if(this.topToolbar){$(this.HTMLElement).append(this.topToolbar.render())}if(this.bottomToolbar){$(this.HTMLElement).append(this.bottomToolbar.render())}var b=this.data.getKeywords();if(!b.length){$(this.HTMLElement).append(this.nullResultsTpl.apply({widget:this}));$(this.HTMLElement).trigger('render',[this]);this.rendered=true;return}var c=(this.topToolbar)?parseInt($(this.topToolbar.HTMLElement).height())+parseInt($(this.topToolbar.HTMLElement).css('padding-top'))+parseInt($(this.topToolbar.HTMLElement).css('padding-bottom')):0;var d=(this.bottomToolbar)?parseInt($(this.bottomToolbar.HTMLElement).height())+parseInt($(this.bottomToolbar.HTMLElement).css('padding-top'))+parseInt($(this.bottomToolbar.HTMLElement).css('padding-bottom')):0;var e={width:$(this.HTMLElement).width(),height:$(this.HTMLElement).height()-c-d,offset_x:0,offset_y:c};this.skippedWords=new Array();this.prepareKeywords();for(var i=0;i<b.length;i++){var f=b[i];$.extend(f,this.wordDefaults||{});var g=f.render();if(this.animate)$(g).css('display','none');if(f.type=='query'&&this.constructQueryMode)$(g).addClass('hulbee-cloud-word-remove');$(this.HTMLElement).append(g);f.HTMLAttributes.width=$(f.HTMLElement).width()+parseInt($(f.HTMLElement).css('padding-left'))+parseInt($(f.HTMLElement).css('padding-right'));f.HTMLAttributes.height=$(f.HTMLElement).height()+parseInt($(f.HTMLElement).css('padding-top'))+parseInt($(f.HTMLElement).css('padding-bottom'));if(f.HTMLAttributes.width>e.width||f.HTMLAttributes.height>e.height){this.correctKeywordSize(f,e.width,e.height)}}if(this.renderMode==$.hulbee.cloud.Map.renderMode.PREFER_CLASTER){for(var h=0;h<this.clastersCount;h++){for(var i=0;i<b.length;i++){if(b[i].claster==h)this.renderKeyword(b[i],e)}}}else{for(var i=0;i<b.length;i++){this.renderKeyword(b[i],e)}}this.bindEvents();$(this.HTMLElement).trigger('render',[this]);this.rendered=true},renderKeyword:function(e,f){var g=function(a,b,c,d){if((a>=c&&a<=d)||(c>=a&&c<=b)){return true}else return false};var h=null;var i=null;var k=undefined;for(var l=0;l<this.wordDisplayAttempts;l++){var m=Math.round(Math.random()*(f.width-e.HTMLAttributes.width));var n=Math.round(Math.random()*(f.height-e.HTMLAttributes.height))+f.offset_y;e.HTMLAttributes.x=m;e.HTMLAttributes.y=n;var o=false;var p=this.data.getKeywords();for(var j=0;j<p.length;j++){if(p[j]!=e){if(g(p[j].HTMLAttributes.x,p[j].HTMLAttributes.x+p[j].HTMLAttributes.width,e.HTMLAttributes.x,e.HTMLAttributes.x+e.HTMLAttributes.width)&&g(p[j].HTMLAttributes.y,p[j].HTMLAttributes.y+p[j].HTMLAttributes.height,e.HTMLAttributes.y,e.HTMLAttributes.y+e.HTMLAttributes.height)){o=true;break}}}if(o==false){if(this.clasterCenters[e.claster]==undefined){var q=m+e.HTMLAttributes.width/2-f.width/2;var r=n+e.HTMLAttributes.height/2-f.height/2}else{var s=this.clasterCenters[e.claster];var q=m+e.HTMLAttributes.width/2-s.x;var r=n+e.HTMLAttributes.height/2-s.y}var t=Math.sqrt(Math.pow(q,2)+Math.pow(r,2));if((t<k)||(k==undefined)){k=t;h=m;i=n}}}if(h!==null&&i!==null){e.HTMLAttributes.x=h;e.HTMLAttributes.y=i;$(e.HTMLElement).css({position:'absolute',left:h+'px',top:i+'px'});if(this.clasterCenters[e.claster]==undefined){var s={x:e.HTMLAttributes.x,y:e.HTMLAttributes.y};this.clasterCenters[e.claster]=s}}else{$(e.HTMLElement).remove();this.skippedWords.push(e)}},bindAppearanceFx:function(){var b=this.data.getKeywords();var c=this;$.each(b,function(i,a){var t=setTimeout(function(){$(a.HTMLElement).fadeIn(c.appearanceFxSpeed)},i*c.appearanceFxDelay)})},bindFocusFx:function(){var c=this.data.getKeywords();var d=this;$.each(c,function(i,a){$(a.HTMLElement).data('font-size',parseInt($(a.HTMLElement).css('font-size')));var b=$(a.HTMLElement).clone();b.appendTo(d.HTMLElement);b.css('font-size',$(a.HTMLElement).data('font-size')*d.focusFxScale+'px');$(a.HTMLElement).data('focus-width',b.width()+parseInt(b.css('padding-left'))+parseInt(b.css('padding-right')));$(a.HTMLElement).data('focus-height',b.height()+parseInt(b.css('padding-top'))+parseInt(b.css('padding-bottom')));b.remove();$(a.HTMLElement).hover($.callback(function(){$(this.HTMLElement).css('z-index','999').animate({fontSize:$(this.HTMLElement).data('font-size')*d.focusFxScale+'px',left:this.HTMLAttributes.x-($(this.HTMLElement).data('focus-width')-this.HTMLAttributes.width)/2+'px',top:this.HTMLAttributes.y-($(this.HTMLElement).data('focus-height')-this.HTMLAttributes.height)/2+'px'},{duration:d.focusFxSpeed,queue:false})},a),$.callback(function(){$(this.HTMLElement).animate({fontSize:$(this.HTMLElement).data('font-size')+'px',left:this.HTMLAttributes.x,top:this.HTMLAttributes.y},{duration:d.focusFxSpeed,queue:false}).css('z-index','0')},a))})},bindHighlighting:function(){$(this.HTMLElement).bind('keywordmouseover',$.callback(function(e,a,b){if(!this.highlightRelated)return;var c=this.data.getRelations(a.realId),relatedWord;var d=(this.data.maxRelationWeight-this.data.minRelationWeight)/(this.relationStepsCount-1);for(var i=0;i<c.length;i++){if(a.realId==c[i].id1){relatedWord=b.data.getKeyword(c[i].id2,'realId')}else{relatedWord=b.data.getKeyword(c[i].id1,'realId')}var f=d?Math.floor((c[i].weight-this.data.minRelationWeight)/d)+1:this.relationStepsCount;if(relatedWord.type!='query'){$(relatedWord.HTMLElement).addClass('hulbee-cloud-word-highlighted');relatedWord.relationClass='hulbee-cloud-word-relation-'+f;$(relatedWord.HTMLElement).addClass(relatedWord.relationClass)}}if(a.type!='query'){$(a.HTMLElement).addClass('hulbee-cloud-word-highlighted');a.relationClass='hulbee-cloud-word-relation-'+this.relationStepsCount;$(a.HTMLElement).addClass(a.relationClass)}},this));$(this.HTMLElement).bind('keywordmouseout',$.callback(function(e,a,b){if(!this.highlightRelated)return;$(a.HTMLElement).removeClass('hulbee-cloud-word-highlighted');for(var i=0;i<this.data.relatedWords.length;i++){if(this.data.relatedWords[i].relationClass)$(this.data.relatedWords[i].HTMLElement).removeClass(this.data.relatedWords[i].relationClass)}},this))},bindEvents:function(){var f=this;var g=this.data.getKeywords();$.each(g,function(i,d){$(d.HTMLElement).find('a').andSelf().click(function(e){e.preventDefault();e.stopPropagation();if(d.url){if(f.dataProvider){var a=f.data.query;var b=(d.word.indexOf(' ')==-1)?d.word:'"'+d.word+'"';if(d.type=='normal'){a=$.trim(a+' '+b)}else if(d.type=='query'){var c=d.getFirstQueryEntry();a=$.trim(a.substr(0,c.startPos)+' '+a.substr(c.startPos+c.length))}f.dataProvider.storeSession(a)}window.location.href=d.url}e.type='keywordclick';$(f.HTMLElement).trigger(e,[d,f])});$(d.HTMLElement).hover(function(e){if($.browser.msie&&d.type=='query'&&f.constructQueryMode){$(d.HTMLElement).addClass('hulbee-cloud-word-remove-jshover')}e.type='keywordmouseover';$(f.HTMLElement).trigger(e,[d,f])},function(e){if($.browser.msie&&d.type=='query'&&f.constructQueryMode){$(d.HTMLElement).removeClass('hulbee-cloud-word-remove-jshover')}e.type='keywordmouseout';$(f.HTMLElement).trigger(e,[d,f])})})}});$.hulbee.cloud.Map.renderMode={PREFER_CLASTER:0,PREFER_LINKWEIGHT:1};$.hulbee.register('Hulbee_Map',$.hulbee.cloud.Map);$.hulbee.DataProvider.registerClass('$.hulbee.cloud.Map',$.hulbee.cloud.Map);$.namespace('$.hulbee.search');$.hulbee.search.Request=function(a){$.extend(this,a||{})};$.extend($.hulbee.search.Request.prototype,{query:'',language:'en',region:'uk',searchEngine:'YahooBoss',strictLang:'',start:0,resultsOnPage:10,maximumResults:1000});$.hulbee.search.Request.fromXml=function(a){var b={query:$.trim($('query',a).text().replace(/site:[^\s]+/gi,'')),language:$('language',a).text(),searchEngine:$('searchEngine',a).text(),start:new Number($('start',a).text()),resultsOnPage:new Number($('count',a).text())};return new $.hulbee.search.Request(b)};$.hulbee.search.Request.fromJSON=function(a){var b={query:$.trim(a.query.replace(/site:[^\s]+/gi,'')),language:a.language,searchEngine:a.searchEngine,start:a.start,resultsOnPage:a.count};return new $.hulbee.search.Request(b)};$.namespace('$.hulbee.search');$.hulbee.search.Result=function(a){if(a.baseTpl&&!(a.baseTpl instanceof $.template)){a.baseTpl=new $.template(a.baseTpl)}$.extend(this,a||{})};$.extend($.hulbee.search.Result.prototype,{HTMLElement:null,id:'',description:'',clickUrl:'',realUrl:'',date:'',cachedUrl:'',size:0,title:'',url:'',baseClass:'hulbee-search-list-result',baseTpl:new $.template(['<div class="${item.baseClass}">','<a href="${item.clickUrl}" id="title${item.id}" title="${item.title:stripb}" target="_blank">${item.title}</a>','<div class="hulbee-search-list-result-abstract" id="abstract{item.id}">${item.description}</div>','<div class="hulbee-search-list-result-info"><span class="hulbee-search-list-result-info-url">${item.url}</span></div>','</div>',],{helpers:{stripb:function(a){return a.replace(/\<(?:\/)?b\>/gi,'')}}}),render:function(a,b){if(!a)a=this.baseTpl;if(typeof a==="string")a=new $.template(a);var c={item:this};$.extend(c,b||{});this.HTMLElement=$(a.apply(c));$(this.HTMLElement).trigger('render',[this]);return this.HTMLElement}});$.hulbee.search.Result.fromXml=function(a){var b={id:$('idDoc',a).text(),description:$('abstract',a).text().replace(/&amp;/g,'&'),clickUrl:$('clickUrl',a).text(),realUrl:$('realUrl',a).text(),date:$('date',a).text(),cachedUrl:$('cachedUrl',a).text(),size:$('size',a).text(),title:$('title',a).text().replace(/&amp;/g,'&'),url:$('url',a).text()};return new $.hulbee.search.Result(b)};$.hulbee.search.Result.fromJSON=function(a){var b={id:a.idDoc,description:a['abstract'],clickUrl:a.clickUrl,realUrl:a.realUrl,date:a.date,cachedUrl:a.cachedUrl,size:a.size,title:a.title,url:a.url};if(typeof b.description=="string")b.description=b.description.replace(/&amp;/g,'&');if(typeof b.title=="string")b.title=b.title.replace(/&amp;/g,'&');return new $.hulbee.search.Result(b)};$.namespace('$.hulbee.search');$.hulbee.search.Data=function(a){$.extend(this,a||{});this.init()};$.extend($.hulbee.search.Data.prototype,{request:null,totalHits:0,totalPages:0,page:0,firstResult:0,lastResult:0,results:[],time:0,init:function(){if(this.request&&this.request.resultsOnPage>0){this.page=Math.round(this.request.start/this.request.resultsOnPage)+1}}});$.hulbee.search.Data.fromXml=function(a){var b={results:[]};var c=$(a).find('responseInformation');if($(c).length){b.totalHits=($('totalHits',c).text()<=1000)?$('totalHits',c).text():1000;b.time=$('time',c).text()}var d=$(a).find('searchQuery');if($(d).length){b.request=$.hulbee.search.Request.fromXml(d)}var e=$(a).find('responseResults');if($(e).length){$(e).each(function(){b.results.push($.hulbee.search.Result.fromXml(this))})}if(b.request&&b.request.resultsOnPage){b.totalPages=Math.ceil(b.totalHits/b.request.resultsOnPage);b.page=Math.floor(b.request.start/b.request.resultsOnPage)+1;b.firstResult=(b.page-1)*b.request.resultsOnPage+1;b.lastResult=(b.page)*b.request.resultsOnPage;if(b.lastResult>b.totalHits){b.lastResult=b.totalHits}}return new $.hulbee.search.Data(b)};$.hulbee.search.Data.fromJSON=function(b){var c={results:[]};if(b.responseInformation){c.totalHits=(b.responseInformation.totalHits<=1000)?b.responseInformation.totalHits:1000;c.time=b.responseInformation.time}if(b.searchQuery){c.request=$.hulbee.search.Request.fromJSON(b.searchQuery)}if(b.responseResults){$.each(typeof b.responseResults.result[0]=="undefined"?b.responseResults:b.responseResults.result,function(i,a){c.results.push($.hulbee.search.Result.fromJSON(a))})}if(c.request&&c.request.resultsOnPage){c.totalPages=Math.ceil(c.totalHits/c.request.resultsOnPage);c.page=Math.round(c.request.start/c.request.resultsOnPage)+1;c.firstResult=(c.page-1)*c.request.resultsOnPage+1;c.lastResult=(c.page)*c.request.resultsOnPage;if(c.lastResult>c.totalHits){c.lastResult=c.totalHits}}return new $.hulbee.search.Data(c)};$.namespace('$.hulbee.search');$.hulbee.search.List=function(a,b){this.HTMLElement=a;if(b.headerTpl&&!(b.headerTpl instanceof $.template)){b.headerTpl=new $.template(b.headerTpl)}if(b.resultsTpl&&!(b.resultsTpl instanceof $.template)){b.resultsTpl=new $.template(b.resultsTpl)}if(b.errorTpl&&!(b.errorTpl instanceof $.template)){b.errorTpl=new $.template(b.errorTpl)}if(b.pagingToolbar&&!(b.pagingToolbar instanceof $.hulbee.Toolbar)){b.pagingToolbar=new $.hulbee.Toolbar(b.pagingToolbar)}if(b.loadMask){if(typeof b.loadMask=="string"||b.loadMask instanceof $.template){b.loadMask=new $.hulbee.loadMask(this.HTMLElement,b.loadMask)}else if(!(b.loadMask instanceof $.hulbee.loadMask)){b.loadMask=new $.hulbee.loadMask(this.HTMLElement)}}if(typeof b.dataProvider=="object"&&!(b.dataProvider instanceof $.hulbee.DataProvider)){b.dataProvider=$.hulbee.DataProvider.getInstance(b.dataProvider)}this.initialConfig=b;$.extend(this,b||{});this.init()};$.extend($.hulbee.search.List.prototype,{HTMLElement:null,data:null,dataProvider:null,baseClass:'hulbee-search-list',headerClass:'hulbee-search-list-header',headerTpl:new $.template(['<div class="${widget.headerClass}">','<strong>Results for found: </strong> ${results.firstResult} - ${results.lastResult} ','of about <span>${results.totalHits}</span> (${results.time:round(2)} seconds)','</div>'],{helpers:{round:function(v,a){var m=Math.pow(10,a);return Math.round(v*m)/m}}}),resultsClass:'hulbee-search-list-results',resultsTpl:new $.template('<div class="${widget.resultsClass}"></div>'),pagingToolbar:new $.hulbee.Toolbar({additionalClass:'hulbee-search-list-paging',visiblePages:10}),urlPattern:'',itemDefaults:{},height:null,width:null,loadMask:null,errorTpl:new $.template('<div class="hulbee-error-${errorType}"><span>${errorType} (${errorCode}):</span> ${errorMsg}</div>'),nullResultsTpl:new $.template('<p class="hulbee-search-list-result-null">Sorry, we did not find results for passed query.</p>'),rendered:false,init:function(c){if(this.baseClass){$(this.HTMLElement).addClass(this.baseClass)}if(this.height){$(this.HTMLElement).css('height',this.height);$(this.HTMLElement).addClass('hulbee-search-list-overflow-auto')}if(this.width){$(this.HTMLElement).css('width',this.width)}if(this.pagingToolbar){this.pagingToolbar.parentCmp=this}if(this.data&&this.data instanceof $.hulbee.search.Data){this.render()}else if(this.dataProvider&&this.dataProvider instanceof $.hulbee.DataProvider){this.dataProvider.register(this);$(this.dataProvider).bind('beforedataload',$.callback(function(a){var b=$(this.HTMLElement).contents();if(this.loadMask)b=b.not(this.loadMask.HTMLElement);b.remove();this.pagingToolbar.items=[];if(this.loadMask)this.loadMask.show()},this));$(this.dataProvider).bind('dataload',$.callback(function(e,a){this.load(a)},this));$(this.dataProvider).bind('dataloaderror',$.callback(function(e,a,b){if(a=='timeout')this.error('Provider\'s load data timeout exceeded.',408,'error');else this.error('Some error occured.',500,'error')},this))}else{this.error('Can\'t find data provider or data for building the list.',400,'error')}},load:function(b){if(b.errors){$.each(b.errors,$.callback(function(i,a){this.error(a,500,'error')},this))}if(b.warnings){$.each(b.warnings,$.callback(function(i,a){this.error(a,500,'warning')},this))}if(b.errors)return;try{b=$.hulbee.search.Data.fromJSON(b.searchlist.searchResponse)}catch(error){b=null}if(b&&b instanceof $.hulbee.search.Data){this.data=b;this.render();$(this.HTMLElement).trigger('load',[this,this.data]);if(this.loadMask)this.loadMask.hide()}else{this.error('Can\'t parse data passed by provider. Maybe the data was broken during transfering.',406,'error')}},error:function(a,b,c){if(!c)c='error';$(this.HTMLElement).empty();$(this.HTMLElement).append(this.errorTpl.apply({errorCode:b,errorMsg:a,errorType:c}))},render:function(){if(this.baseClass)$(this.HTMLElement).addClass(this.baseClass);if(!this.data.results.length){$(this.HTMLElement).append(this.nullResultsTpl.apply({widget:this}));$(this.HTMLElement).trigger('render',[this]);this.rendered=true;return}$(this.HTMLElement).append(this.headerTpl.apply({results:this.data,widget:this}));var b=$(this.resultsTpl.apply({results:this.data,widget:this}));$(this.HTMLElement).append(b);$.each(this.data.results,$.callback(function(i,a){$.extend(a,this.itemDefaults||{});$(b).append(a.render(null,{widget:this,index:i}))},this));if(this.pagingToolbar){if(!this.pagingToolbar.visiblePages)this.pagingToolbar.visiblePages=10;var c='',offset=0;if(this.data.page>=this.pagingToolbar.visiblePages/2){offset=this.data.page-Math.round(this.pagingToolbar.visiblePages/2)}if(offset+this.pagingToolbar.visiblePages>this.data.totalPages){offset=this.data.totalPages-this.pagingToolbar.visiblePages}if(this.data.page>1){this.pagingToolbar.items.push(new $.hulbee.Toolbar.PageItem({additionalClass:'hulbee-search-list-page-arrow',page:this.data.page-1,text:'←',url:this.urlPattern.replace('${page}',this.data.page-1)}))}if(offset>0){this.pagingToolbar.items.push(new $.hulbee.Toolbar.Item({additionalClass:'hulbee-search-list-page-dots',baseTpl:new $.template('<span class="${item.baseClass} ${item.additionalClass}">...</span>')}))};for(var i=offset+1;i<offset+this.pagingToolbar.visiblePages+1;i++){if(i>0){this.pagingToolbar.items.push(new $.hulbee.Toolbar.PageItem({additionalClass:(i==this.data.page)?'hulbee-search-list-page-selected':'hulbee-search-list-page',page:i,text:String(i),url:this.urlPattern.replace('${page}',i)}))}}if(this.data.totalPages==0){this.pagingToolbar.items.push(new $.hulbee.Toolbar.PageItem({additionalClass:'hulbee-search-list-page-selected',page:1,text:'1',url:this.urlPattern.replace('${page}',1)}))}if(offset+this.pagingToolbar.visiblePages<this.data.totalPages){this.pagingToolbar.items.push(new $.hulbee.Toolbar.Item({additionalClass:'hulbee-search-list-page-dots',baseTpl:new $.template('<span class="${item.baseClass} ${item.additionalClass}">...</span>')}))}if(this.data.page<this.data.totalPages){this.pagingToolbar.items.push(new $.hulbee.Toolbar.PageItem({additionalClass:'hulbee-search-list-page-arrow',page:this.data.page+1,text:'→',url:this.urlPattern.replace('${page}',this.data.page+1)}))}$(this.HTMLElement).append(this.pagingToolbar.render({widget:this}))}this.bindEvents();$(this.HTMLElement).trigger('render',[this]);this.rendered=true},bindEvents:function(){var b=this;$.each(this.data.results,function(i,a){$(a.HTMLElement).click(function(e){$(b.HTMLElement).trigger('itemclick',[a,b])}).mouseover(function(e){$(b.HTMLElement).trigger('itemmouseover',[a,b])}).mouseout(function(e){$(b.HTMLElement).trigger('itemmouseout',[a,b])})})}});$.hulbee.Toolbar.PageItem=$.inherit($.hulbee.Toolbar.ButtonItem,{page:0,baseTpl:new $.template(['<span class="${item.baseClass} ${item.additionalClass}">','<a href="${item.url:url}">${item.text}</a>','</span>'],{helpers:{url:function(a){return(a)?a:'javascript:{}'}}})});$.hulbee.register('Hulbee_SearchList',$.hulbee.search.List);$.hulbee.DataProvider.registerClass('$.hulbee.search.List',$.hulbee.search.List);$.namespace('$.hulbee.search');$.hulbee.search.Input=function(a,b){this.HTMLElement=a;if(b.submitButtonTpl&&!(b.submitButtonTpl instanceof $.template)){b.submitButtonTpl=new $.template(b.submitButtonTpl)}if(typeof b.dataProvider=="object"&&!(b.dataProvider instanceof $.hulbee.DataProvider)){b.dataProvider=$.hulbee.DataProvider.getInstance(b.dataProvider)}this.initialConfig=b;$.extend(this,b||{});this.init()};$.extend($.hulbee.search.Input.prototype,{HTMLElement:null,dataProvider:null,id:'',baseClass:'hulbee-search-input',name:'search',value:'',submitButtonTpl:new $.template('<span class="hulbee-search-input-button"></span>'),height:null,width:150,rendered:false,input:null,submitButton:null,init:function(){if(this.dataProvider&&this.dataProvider instanceof $.hulbee.DataProvider){$(this.dataProvider).bind('beforedataload',$.callback(function(){this.setValue(this.dataProvider.query)},this));$(this.dataProvider).bind('dataload',$.callback(function(){this.setValue(this.dataProvider.query)},this))}this.render();this.bindEvents()},render:function(){$.extend(this,{id:$(this.HTMLElement).attr('id')||undefined,name:$(this.HTMLElement).attr('name')||undefined,src:$(this.HTMLElement).attr('src')||undefined,value:$(this.HTMLElement).val()});this.HTMLElement=$(this.HTMLElement).wrap('<span></span>').parent().empty();if(this.baseClass){$(this.HTMLElement).addClass(this.baseClass)}if(this.id){$(this.HTMLElement).attr('id',this.id)}this.input=$('<input type="text" />').attr('name',this.name).val(this.value);$(this.HTMLElement).append(this.input);if(this.submitButtonTpl){this.submitButton=$(this.submitButtonTpl.apply({widget:this}));$(this.HTMLElement).append(this.submitButton);$(this.submitButton).css('font-size',$(this.input).css('font-size'));$(this.input).css('padding-right',$(this.submitButton).outerWidth()+'px')}if(this.width){var a=parseInt($(this.input).css('margin-left'))+parseInt($(this.input).css('margin-right'));if(this.submitButton){a=(!isNaN(a)?a:0)+$(this.submitButton).outerWidth()}$(this.input).css('width',parseInt(this.width)-a+'px')}if(this.height){var b=parseInt($(this.input).css('margin-top'))+parseInt($(this.input).css('margin-bottom'));b=!isNaN(b)?b:0;$(this.input).css('height',parseInt(this.height)-b+'px')}$(this.HTMLElement).trigger('render',[this]);this.rendered=true},bindEvents:function(){if(this.submitButton){$(this.submitButton).click($.callback(function(){this.submit()},this))}$(this.input).keydown($.callback(function(e){if(e.which==13){this.submit()}},this))},submit:function(){if(this.dataProvider.queryPattern){window.location.href=this.dataProvider.queryPattern.replace('${query}',encodeURI(this.getValue()))}else{this.dataProvider.query=this.getValue();this.dataProvider.load()}},getValue:function(){this.value=$(this.input).val();return this.value},setValue:function(v){this.value=v;if(this.rendered){$(this.input).val(v)}}});$.hulbee.register('Hulbee_SearchInput',$.hulbee.search.Input)})(jQuery);