
var Widget=new Class({elements:{},items:{},defaultProfile:{title:""},changeColors:"<div class='settings_section'><span class='settings_label'>"+loc.text("rss_inp_bgcolor")+"</span><div class='bg-sel red'></div><div class='bg-sel orange'></div><div class='bg-sel yellow'></div><div class='bg-sel green'></div><div class='bg-sel blue'></div><div class='bg-sel orig'></div></div>",ieIdCounter:0,disableOnClosePrompt:false,isSettingsReduced:true,isForceClose:false,id:null,isReduced:false,profile:{},isPreview:false,tid:null,mid:null,flag:false,initialize:function(){this.items=[]},open:function(parent,id,profile){this.buildWindow(parent);this.buildInterface();if(this.elements.window){this.elements.window.wid=this.id;}
tid=this.id;this.onOpen();},setParent:function(parentEl){parentEl.insertBefore(this.mid,parentEl.firstChild);var self=this;_el=$('win-'+self.id);(function(){_el.fade(0.1);}).delay(1000);(function(){_el.fade(1);}).delay(1500);},buildWindow:function(parent){if(parent.id.indexOf("popup")!=-1){var fh="<div><div class='float-head' id='caption'></div></div><div class='box-edit' id='settings' style='display:none'></div><div class='box-content' id='content-"+this.id+"'></div>";var fbox=new Element('div',{'class':'win-float','id':'win-'+this.id,'html':fh}).inject(parent);}else{if(this.cfg.module!='Menu'){var bh="<div class='box-frame'><div class='box-head-out'><div class='box-head' id='caption'></div></div><div class='box-edit' id='settings' style='display:none'></div><div id='pre_content'></div><div class='box-content' id='content-"+this.id+"'></div><div id='post_content'></div></div>";var tbox=new Element('div',{'class':'box','id':'win-'+this.id,'html':bh}).inject(parent);}}
this.mid=$('win-'+this.id);var m=[];var h='';var self=this;if(this.cfg.hasCloseBtn||this.cfg.hasSettingsBtn||this.cfg.hasRefreshBtn)
h+="<span>";if(this.cfg.hasCloseBtn){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())||this.cfg.module=='RssReader'||this.cfg.module=='Ident'||this.cfg.module=='Feedback'||this.cfg.module=='SendToFriend'||this.cfg.module=='Custompage'){if(parent.id.indexOf('popup')!=-1)
h+="<a title='"+loc.text("wbtn_close")+"' class='box-closep'></a>";else
h+="<a title='"+loc.text("wbtn_close")+"' class='box-close'></a>";}}
if(this.cfg.hasSettingsBtn){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())){h+="<a title='"+loc.text("wbtn_settings")+"' class='box-settings'>"+loc.text("wbtn_settings")+"</a>";}}
if(this.cfg.hasRefreshBtn)
h+="<a title='"+loc.text("wbtn_refresh")+"' class='box-refresh'></a>";if(this.cfg.hasCloseBtn||this.cfg.hasSettingsBtn||this.cfg.hasRefreshBtn)
h+="</span>";if(this.cfg.hasSizeBtn)
h+="<a title='"+loc.text("wbtn_hide")+"' class='box-hide' style='display:none'></a>";if(this.cfg.hasIcon)
h+="<a class='box-ico'><img id='ico' src='widgets/"+this.cfg.module.toLowerCase()+"/ico.gif' width='16'></a>";h+="<span class='box-title'></span>";if(this.cfg.module!='Menu'){if(parent.id.indexOf("popup")!=-1){this.mid.getElement('div.float-head').set('html',h);if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())||this.cfg.module=='RssReader'||this.cfg.module=='Ident'||this.cfg.module=='Feedback'||this.cfg.module=='SendToFriend'||this.cfg.module=='Custompage'){this.mid.getElement('a.box-closep').addEvent('click',function(){self.close();});}}else{this.items['head']=this.mid.firstChild.firstChild.firstChild;this.items['head'].innerHTML=h;if(this.cfg.hasDrag&&!this.isPreview){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())){board.addDrag(this.mid);}else{this.mid.getElement('div.box-head').setStyle('cursor','default');}}else if(this.isPreview){this.mid.getElement('div.box-head').setStyle('cursor','default');}
if(!this.isPreview){if(this.cfg.hasSizeBtn||this.cfg.hasIcon){this.items['head'].addEvent('mouseover',function(){self.checkMouseInOut(1);});this.items['head'].addEvent('mouseout',function(){self.checkMouseInOut(0);});if(this.cfg.hasSizeBtn){this.mid.getElement('a.box-hide').addEvent('click',function(){self.switchSize();});}}}
if(this.cfg.hasSettingsBtn){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())){this.mid.getElement('a.box-settings').addEvent('click',function(){self.switchSettings();});}}
if(this.cfg.hasRefreshBtn){this.mid.getElement('a.box-refresh').addEvent('click',function(){self.refresh();});}
if(this.cfg.hasCloseBtn){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())||this.cfg.module=='RssReader'||this.cfg.module=='Ident'||this.cfg.module=='Feedback'||this.cfg.module=='SendToFriend'){this.mid.getElement('a.box-close').addEvent('click',function(){self.close();});}}
if(this.isPreview){this.mid.getElement('div.box-head').addEvent('mouseover',function(){self.mid.getElement('a.box-close').setStyle('display','none');});this.mid.getElement('a.box-close').setStyle('display','none');}}}},initDtagAndDrop:function(){alert('DELETED: widget:initDtagAndDrop');},buildInterface:function(){this.onBuildInterface();},forceClose:function(){this.isForceClose=true;this.disableOnClosePrompt=true;this.close();},close:function(){if(!this.isPreview){this.flag=(this.cfg.hasOnCloseConfirm&&!this.disableOnClosePrompt)?confirm(loc.text("board_confirm_widget_remove")):true;if(this.flag&&$('win-'+this.id)){this.onClose();var tmp_I=[];var tmp_O=[];for(var i=0;i<board.dragBoxesI.length;i++){if(board.dragBoxesI[i]){var bid=board.dragBoxesI[i].replace('win-','');if(bid==this.id){board.dragBoxesO[i].detach();board.dragBoxesO[i].stop();}else{tmp_I.push(board.dragBoxesI[i]);tmp_O.push(board.dragBoxesO[i]);}}}
board.dragBoxesO=tmp_O;board.dragBoxesI=tmp_I;main.freeWidget(this.id);$('win-'+this.id).destroy();this.profile=false;this.save();this.flag=false;if(this.cfg.hasDrag&&!this.isForceClose){board.savePanels(board.activeTab);}}}},setTitle:function(h){this.mid.getElement('span[class=box-title]').innerHTML=h;},getValue:function(e){return this.mid.getElement('[name='+e+']').get('value');},getProp:function(e,p){return this.mid.getElement('input[name='+e+']').getProperty(p);},setValue:function(e,v,c){if(v=='check'){if(c)
this.mid.getElement('input[name='+e+']').set('checked','true');else
this.mid.getElement('input[name='+e+']').removeProperty('checked');}else{this.mid.getElement('[name='+e+']').set('value',v);}},setContent:function(h){this.mid.getElement('div.box-content').set('html',h);},setSettings:function(h){this.mid.getElement('div.box-edit').set('html',h);},checkMouseInOut:function(mouse_in){if(mouse_in==1||this.isSettingsReduced==false){this.mid.getElement('a.box-hide').setStyle('display','block');this.mid.getElement('a.box-ico').setStyle('display','none');}else{this.mid.getElement('a.box-hide').setStyle('display','none');this.mid.getElement('a.box-ico').setStyle('display','block');}},switchSize:function(){if(this.isReduced){this.mid.getElement('a.box-hide').removeClass('box-show');this.showElCn('div.box-content');this.onShow();}else{this.mid.getElement('a.box-hide').addClass('box-show');this.showElCn('div.box-content','none');this.hideSettings();this.onHide();}
this.isReduced=!this.isReduced;},hide:function(id){if(this.tags[id]){this.tags[id].style.display='none';}},show:function(id){if(this.tags[id]){this.tags[id].style.display='block';}},switchSettings:function(){if(this.isSettingsReduced){this.showSettings();}else{this.hideSettings();}
this.isSettingsReduced=!this.isSettingsReduced;},showSettings:function(){this.showElCn('.box-edit');if(this.cfg.hasSettingsBtn){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())){this.mid.getElement('a.box-settings').set('html',loc.text("wbtn_settingsend"));}}},hideSettings:function(s){if(!ident.isPublic()||(ident.isPublic()&&ident.isPublicLogged())){this.mid.getElement('a.box-settings').set('html',loc.text("wbtn_settings"));}
this.showElCn('.box-edit','none');if(!s)
this.settingsAll();},settingsAll:function(){},attachEvent:function(el,e,cmd){var code='el.'+e+' = function(){main.widgets['+this.id+'].'+cmd+'};';eval(code);},attachClickEvent:function(el,e,cmd){var code='main.getWidget('+this.id+').'+cmd+';';el[e]=function(e){this.blur();eval(code);return killEvent(e);}},buildDomModel:function(parentEl,data){if(data["tag"]){var el=document.createElement(data.tag);for(p in data){switch(p){case null,"tag","childs":break;case"tooltip":if(data.tooltip!=''){var tip=new Tooltip(el,data.tooltip)}
break;case"cn":el.className=data.cn;break;case"name":el.setAttribute("name",data.name);break;case"id":this.elements[data.id]=el;if(data.rid){el.id=data.id;}
if(data.cn=='box'){el.id='win-'+this.id;}
break;case"style":for(var s in data.style){el.style[s]=data.style[s];}
break;case"options":if(data.options.start!=undefined){var step=data.options.step||1;var options=[];for(var i=data.options.start;i<=data.options.end;){options.push({text:i,value:i});i+=step;}}else{var options=data.options;}
if(options.length){for(var i=0;i<options.length;i++){el.options.add(new Option(options[i].text,options[i].value));if(options[i].isBold){el.options[el.options.length-1].style.fontWeight="bold";}}}
break;case"src":var src=data.src;if(src.indexOf("http")==-1){src="http://"+baseUrl+src;}
if(ie_nav){var setSrc=function(){el.src=src}
setTimeout(setSrc,200);}else{el.src=src;}
break;case"display":if(!data[p]){el.style.display='none';}
break;case"href":if(data.href=="void"){el.href="javascript:void(0);";}else if(data.tag=="a"){this.attachClickEvent(el,"onclick",data.href);el.href="javascript:void(0);";}else{el.href=data.href;}
break;case"html":el.innerHTML=data.html;break;case"sysHref":el.href=data.sysHref;break;case"events":var wid=this.id;if(typeof(data.events)=="object"){for(var e in data.events){switch(e){case"onenter":var wid=this.id;el.onkeyup=function(event){event=fix_event(event);if(event.keyCode==13){eval("main.getWidget(wid)."+data.events[e]+";");}}
break;default:this.attachEvent(el,e,data.events[e]);break;}}}
break;case"sysEvents":if(typeof(data.sysEvents)=="object"){for(var e in data.sysEvents){el.setAttribute(e,data.sysEvents[e]+";");}}
break;default:if(p!='tag'){el[p]=data[p];}
break;}}
if(data.tag=="table"){el.setAttribute("cellpadding","0");el.setAttribute("cellspacing","0");}
parentEl.appendChild(el);if(data.tag=="table"){parentEl=el;var el=document.createElement("tbody");if(data.id){this.elements[data.id+"_tbody"]=el;}
parentEl.appendChild(el);}
if(data.childs){this.buildDomModel(el,data.childs);}}else if(typeof data=="object"){for(var i in data){this.buildDomModel(parentEl,data[i]);}}},settingsSetTitle:function(){if(this.tags.title){var t=trim(this.tags.title.value);if(t!=this.profile.title){this.profile.title=t;this.setTitle(t);this.save();}}},save:function(){if(!this.isPreview){profiler.saveProfile(this);}},setBgColor:function(bgcolor,notsave){if(bgcolor!='orig'){this.mid.set('class','box '+bgcolor);}else{this.mid.set('class','box');}
this.profile.bgcolor=bgcolor;this.setBgColor2(bgcolor);if(!notsave)
this.save();},setBgColor2:function(bgcolor){},onOpen:function(){},onBuildInterface:function(){},onClose:function(){},onShow:function(){},onHide:function(){},onShowSettings:function(){},onDrag:function(){},timerHandler:function(){},refresh:function(){},dispatchMsg:function(){},hideElement:function(id){if(this.elements[id]){this.elements[id].style.display='none';}},showElCn:function(cn,display){this.mid.getElements(cn).setStyle('display',(display?display:'block'));},showElId:function(id,display){this.mid.getElement('[id='+id+']').style.display=display?display:'block';},colorsAction:function(){var self=this;var parent=this.mid.firstChild.childNodes[1].childNodes[1];$(parent.childNodes[1]).addEvent('click',function(){self.setBgColor('red');});$(parent.childNodes[2]).addEvent('click',function(){self.setBgColor('orange');});$(parent.childNodes[3]).addEvent('click',function(){self.setBgColor('yellow');});$(parent.childNodes[4]).addEvent('click',function(){self.setBgColor('green');});$(parent.childNodes[5]).addEvent('click',function(){self.setBgColor('blue');});$(parent.childNodes[6]).addEvent('click',function(){self.setBgColor('orig');});},showElement:function(id,display){if(this.elements[id]){this.elements[id].style.display=display?display:'block';}},deleteElement:function(id){if(this.elements[id].parentNode){this.elements[id].parentNode.removeChild(this.elements[id]);}
this.elements[id]=null;},getExpanderModel:function(title,content){this.ieIdCounter++;var id="_ie"+this.ieIdCounter;var tid=id+"_title";var cid=id+"_content";var m={tag:"div",className:"expander_box",childs:[{tag:"div",className:"title_closed",id:tid,html:title,isExtended:false,events:{onclick:"switchExtender('"+id+"')"}},{tag:"div",className:"content",id:cid,display:false,childs:content}]}
return m;},switchExtender:function(id){var tid=id+"_title";var cid=id+"_content";if(this.elements[tid].isExtended){this.hideElement(cid);this.elements[tid].className="title_closed";}else{this.showElement(cid);this.elements[tid].className="title_opened";}
this.elements[tid].isExtended=!this.elements[tid].isExtended;}});