var CatalogItem_class=new Class({options:{dynamicElements:{},activeElements:{},onActionStart:Class.empty,onActionComplete:Class.empty},initialize:function(id,elem){this.id=id;if($type(elem)=='string')elem=$(elem).removeProperty('id');this.elem=$(elem)},onActionComplete:function(e){this.process=0;this.fireEvent('onActionComplete')},'delete':function(){this.elem.remove();this.fireEvent('delete')},update:function(){this.collectionElements(this.options.dynamicElements,'setDynamic');this.collectionElements(this.options.activeElements,'setActive')},collectionElements:function(collection,fnName){for(var name in collection){this.elem[name]=this.elem.getElement('[name='+name+']');if($type(this.elem[name])==='element'){if(fnName==='setActive')this.elem[name].removeEvents();this[fnName](this.elem[name],collection[name])}}},setDynamic:function(elem,tpl){elem.setHTML(App.getHTML(tpl,this))},setActive:function(elem,param){elem.addEvent(param.event?param.event:'click',function(e){e=new Event(e);if(e.type==='click')e.stop();if(!this.process&&(!$defined(param.confirm_tpl)||confirm(App.getHTML(param.confirm_tpl,this)))){this.process=1;this.fireEvent('onActionStart',{action:param.action,initiator:elem});this[param.action](elem)}}.bind(this))}});CatalogItem_class.implement(new Options,new Events);var Catalog_class=new Class({_class:null,_catalog:null,_queueAdd:null,_id_preff:'',checkup:false,is_updated:false,options:{},initialize:function(item_class,id_preff){this._catalog=[];this._queueAdd=[];this._class=item_class;if(id_preff)this._id_preff=id_preff},add:function(id){var i=this._catalog.push(new this._class(id,this._id_preff+id))-1;this._catalog[i].addEvent('delete',this['delete'].bind(this,id));this._catalog[i].setOptions(this.options);if(this.is_updated)this._catalog[i].update()},addKit:function(id,kit_id,units_ids){var i=this._catalog.push(new this._class(id,this._id_preff+id,kit_id,units_ids))-1;this._catalog[i].addEvent('delete',this['delete'].bind(this,id));this._catalog[i].setOptions(this.options);if(this.is_updated)this._catalog[i].update()},update:function(){this._catalog.each(function(item){item.update()});this.is_updated=1},clean:function(){this._catalog=[]},'delete':function(id){var i=0;var len=this._catalog.length;while(i<len){if(this._catalog[i].id===id){this._catalog.splice(i,1);len--}else{i++}}},toQueueAdd:function(id){this._queueAdd.push(id)},delayedAdd:function(){this.is_updated=1;while(this._queueAdd.length>0)this.add(this._queueAdd.shift())},updateBind:function(obj){this.is_updated=obj.is_updated;obj.addEvent('update',this.update.bind(this));return this}});Catalog_class.implement(new Options);var fb_load=function(){var s=document.createElement('SCRIPT'),s1=document.getElementsByTagName('SCRIPT')[0];s.type='text/javascript';s.async=true;s.src=('https:'==document.location.protocol?'https':'http')+'://connect.facebook.net/ru_RU/all.js#xfbml=1';s1.parentNode.insertBefore(s,s1)};fb_load();var twt_load=function(){var b=document.createElement('script');s1=document.getElementsByTagName('SCRIPT')[0];b.type='text/javascript';b.async=true;b.src=('http://platform.twitter.com/widgets.js');s1.parentNode.insertBefore(b,s1)};twt_load();window.___gcfg={lang:'ru'};var g_load=function(){var po=document.createElement('script');po.type='text/javascript';po.async=true;po.src='https://apis.google.com/js/plusone.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(po,s)};g_load();var vk_script=Asset.javascript('http://vkontakte.ru/js/api/share.js?10&#038;ver=3.1.3');var vk_onload=Array();var Vote_class=CatalogItem_class.extend({ajaxAction:'http://conf.owox.ua/contestants/vote/',authorizeResp:'{"code":2,"action":2,"message":{"code":4,"content":"Для того чтобы проголосовать Вы должны быть авторизованны"}}',first:true,doVote:function(elem){if(!User.isAuth()){VotesCatalog.unauthorized_vote={'item':this,'elem':elem};this.onActionComplete(this.authorizeResp)}else{new Ajax('/cgi-bin/form.php',{data:{id:this.id,vote:elem.name},headers:{ajaxAction:this.ajaxAction}}).addEvent('onComplete',this.onActionComplete.bindAsEventListener(this)).request()}},onActionComplete:function(e){this.parent();var resp=new Response_class(e);resp.doAction();if(resp.Message&&!resp.Message.isShown){App.showMessage(resp.Message)}if(resp.isDone()&&this.first){App.tryUrchinTracker('http://conf.owox.ua/contestants/vote/');this.first=false}},setDynamic:function(elem,tpl){this.vote=this.getVote();this.score=this.elem.getElement('div[name=score]').getProperty('score');var el=elem.getElement('div[name=vote_buttons]');if(el){el.setHTML(App.getHTML(tpl,this))}else{this.parent(elem,tpl)}},getVote:function(){return $defined_list(User,['S','contestants_votes',this.id])?User.S.contestants_votes[this.id]:null}});var VotesCatalog=new Catalog_class(Vote_class,'contestant').setOptions({dynamicElements:{'vote':'<ul class=\"vote-buttons\">\n{if vote==\"for\"}\n<li class=\"disable\">\n\t<a href=\"#against\" name=\"against\" class=\"against\">\n\t\t<b>:(<\/b><span>\u041d\u0435&nbsp;\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/a>\n<\/li>\n<li class=\"disable\">\n\t<a href=\"#abstain\" name=\"abstain\" class=\"abstain\">\n\t\t<b>:|<\/b><span>\u0412\u0441\u0435&nbsp;\u0440\u0430\u0432\u043d\u043e<\/span>\n\t<\/a>\n<\/li>\n<li>\n\t<span class=\"for\">\n\t\t<b>:)<\/b><span>\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/span>\n<\/li>\n{elseif vote==\"abstain\"}\n<li class=\"disable\">\n\t<a href=\"#against\" name=\"against\" class=\"against\">\n\t\t<b>:(<\/b><span>\u041d\u0435&nbsp;\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/a>\n<\/li>\n<li>\n\t<span class=\"abstain\">\n\t\t<b>:|<\/b><span>\u0412\u0441\u0435&nbsp;\u0440\u0430\u0432\u043d\u043e<\/span>\n\t<\/span>\n<\/li>\n<li class=\"disable\">\n\t<a href=\"#for\" name=\"for\" class=\"for\">\n\t\t<b>:)<\/b><span>\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/a>\n<\/li>\n{elseif vote==\"against\"}\n<li>\n\t<span class=\"against\">\n\t\t<b>:(<\/b><span>\u041d\u0435&nbsp;\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/span>\n<\/li>\n<li class=\"disable\">\n\t<a href=\"#abstain\" name=\"abstain\" class=\"abstain\">\n\t\t<b>:|<\/b><span>\u0412\u0441\u0435&nbsp;\u0440\u0430\u0432\u043d\u043e<\/span>\n\t<\/a>\n<\/li>\n<li class=\"disable\">\n\t<a href=\"#for\" name=\"for\" class=\"for\">\n\t\t<b>:)<\/b><span>\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/a>\n<\/li>\n{else}\n<li>\n\t<a href=\"#against\" name=\"against\" class=\"against\">\n\t\t<b>:(<\/b><span>\u041d\u0435&nbsp;\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/a>\n<\/li>\n<li>\n\t<a href=\"#abstain\" name=\"abstain\" class=\"abstain\">\n\t\t<b>:|<\/b><span>\u0412\u0441\u0435&nbsp;\u0440\u0430\u0432\u043d\u043e<\/span>\n\t<\/a>\n<\/li>\n<li>\n\t<a href=\"#for\" name=\"for\" class=\"for\">\n\t\t<b>:)<\/b><span>\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f<\/span>\n\t<\/a>\n<\/li>\n{\/if}\n<\/ul>','score':'{if vote==null}\r\n<div class=\"cont-score-process\"><i><\/i>\u0418\u0434\u0435\u0442 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u0435<\/div>\r\n{else}\r\n<div class=\"cont-score\"><div style=\"width:{if score}${score}{else}0{\/if}%\"><\/div><\/div>\r\n{\/if}'},activeElements:{'for':{action:'doVote'},'against':{action:'doVote'},'abstain':{action:'doVote'}},onActionStart:function(data){if(!User.isAuth())return;var vote=this.elem.getElement('[name=vote]');if(vote)vote.processStart('<img src="http://i.owox.ua/conf/vote-ajax-process.gif" width="124" height="24" alt="сохранение..." style="margin-left:-20px"/>');var title=(this.elem.getElement('h2')||$E('h1')).getText();App.trackEvent('contestants',data.action,this.elem.getElement('.author-label .author-name').getText()+'|'+title.substr(0,24)+'...',data.initiator.name==='abstain'?0:(data.initiator.name==='for'?1:-1))},onActionComplete:function(resp){var vote=this.elem.getElement('[name=vote]');if(vote)vote.processStop()}});VotesCatalog.filter="Off";VotesCatalog.filterLink=null;VotesCatalog.initFilterLink=function(){id='menu'+$random(0,100000);document.write("<div id='"+id+"' class='filter-link'></div>");this.filterLink=$(id)};VotesCatalog.filterVoted=function(){var voted=0;var unvoted=0;this._catalog.each(function(item){item.getVote()===null?unvoted++:voted++});var filterable=User.isAuth()&&voted&&unvoted?true:null;this.filter=filterable&&location.hash&&location.hash.slice(1)==='hide-voted'?"On":"Off";this._catalog.each(function(item){item.elem.setStyle('display',(VotesCatalog.filter==="On"&&item.getVote()!==null)?'none':'block')});$$('div[name^=section]').each(function(elem){var empty=true;elem.getNext().getChildren('div').each(function(el){if(el.tagName=='DIV'&&el.getStyle('display')=='block'){empty=false}});empty?elem.setStyle('display','none'):elem.setStyle('display','block')});if(this.filterLink){if(filterable){this.filterLink.setHTML(App.getHTML('{if filter===\"Off\"}\r\n<a href=\"#hide-voted\" class=\"xhr\">\u0421\u043a\u0440\u044b\u0442\u044c \u043f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u044b<\/a>\r\n{else}\r\n<a href=\"#all\" class=\"xhr\">\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u044b<\/a>\r\n{\/if}',this));this.filterLink.getElement('a').addEvent('click',function(){VotesCatalog.filterVoted.delay(50,VotesCatalog)})}else{this.filterLink.setHTML('')}}};VotesCatalog.onSignIn=function(){S.addEvent('loadS',VotesCatalog.checkUnauthorizedVote.bind(VotesCatalog))};VotesCatalog.checkUnauthorizedVote=function(){if($defined(this.unauthorized_vote)){this.unauthorized_vote.item.process=1;this.unauthorized_vote.item.fireEvent('onActionStart',{action:'doVote',initiator:this.unauthorized_vote.elem});this.unauthorized_vote.item.doVote(this.unauthorized_vote.elem);this.unauthorized_vote=null}};User.addEvent('signChange',VotesCatalog.filterVoted.bind(VotesCatalog));User.addEvent('signIn',VotesCatalog.onSignIn.bind(VotesCatalog));App.addOnDomReady(function(){VotesCatalog.filterVoted.bind(VotesCatalog);var full_menu_btn=$('show-full-menu-btn');var mini_menu_btn=$('show-mini-menu-btn');if(full_menu_btn){full_menu_btn.addEvent('click',function(){$('mini-menu').addClass('hidden-menu');$('vote-menu').removeClass('hidden-menu')})}if(mini_menu_btn){mini_menu_btn.addEvent('click',function(){$('vote-menu').addClass('hidden-menu');$('mini-menu').removeClass('hidden-menu')})}var vk_delay_load=function(){if(typeof VK!='undefined'){for(i=0;i<vk_onload.length;i++){window.setTimeout(vk_onload[i],3000)}}else{window.setTimeout(vk_delay_load,1000)}};vk_delay_load();var section_list=$$('.section-list');section_list.each(function(el){el.addEvent('click',function(e){var event=new Event(e);event.stop();document.location.href=el.href;$$('.section-list').each(function(el){el.getParent().removeClass('active')});el.getParent().addClass('active');$('vote-menu').addClass('hidden-menu');$('mini-menu').removeClass('hidden-menu')})})});S.addEvent('loadS',VotesCatalog.update.bind(VotesCatalog));if(S.checkup)VotesCatalog.update();
