var Subscribe_class=new Class({STATUS:{ERROR:-1,NO:0,YES:1,DONE:2,PROCESS:3},ID:'subscribe_block',autoSubscribe:false,options:{tpl:'',ID:false},initialize:function(name){this.name=name;this.status=User.isAuth()&&this.isSubscribed()?this.STATUS.YES:this.STATUS.NO;if(!this.options.ID){document.write('<div id="'+this.ID+'"></div>');this.elem=$(this.ID)}else{this.elem=$(this.options.ID)}this.update();User.addEvent('signChange',this.onUserSignChange.bind(this))},update:function(){this.elem.setHTML(App.getHTML(this.options.tpl,this)).showHints();this.form=this.elem.getElement('form');if(this.form)this.form.addEvent('submit',this.onSubmit.bind(this))},isSubscribed:function(){var subscribes=User.getProperty('subscribes');return $defined(subscribes[this.name])},onSubmit:function(e){new Event(e).stop();if(this.form.trySend({onComplete:this.onComplete.bind(this),headers:{ajaxAction:'/subscribe/#subscribe'}})){this._udone=this.form.getProperty('_udone');this.status=this.STATUS.PROCESS;this.update()}},onComplete:function(){this.status=this.STATUS.NO;var Response=new Response_class(arguments[0]);this.Message=Response.Message;if(Response.isError()&&Response.action&Response.ACTION.USER_AUTH){this.autoSubscribe=true;this.status=this.STATUS.NO}else if(Response.isDone()){this.status=this.STATUS.DONE;if(this._udone){App.tryUrchinTracker(this._udone);App.trackEvent('newsletters','subscribe',this.name)}}else if(!Response.isError()){this.status=this.STATUS.YES}else{this.status=this.STATUS.ERROR}Response.doAction();this.update()},onUserSignChange:function(){if(this.isSubscribed()){this.status=this.status!==this.STATUS.DONE?this.STATUS.YES:this.STATUS.DONE}else{this.status=this.STATUS.NO;if(this.form&&this.autoSubscribe&&this.form.trySend({onComplete:this.onComplete.bind(this)})){this._udone=this.form.getProperty('_udone');this.status=this.STATUS.PROCESS}}this.update()}});Subscribe_class.implement(new Options);Scroller_class=new Class({options:{cloneProperties:['class','name'],elemsContainer:'[name=elems-container]',elems:'[name=scroll-element]',controls:'[name=controls]',visibleElementsLength:4,step:3,widthScrollElement:135,width_differense:30,circular:false,catalogItemSelector:'div[name=catalog_item]',catalogItemField:'_value',margin:20},_elems:null,_elemsContainer:null,_controls:null,_fx:null,parentElem:null,initialize:function(parentElem){this.parentElem=parentElem},_getElements:function(){if(this._elems==null)this._elems=this.parentElem.getElements(this.options.elems);return this._elems},_getControls:function(){if(this._controls==null)this._controls=this.parentElem.getElements(this.options.controls);return this._controls},_getContainerElement:function(){if(this._elemsContainer==null)this._elemsContainer=this.parentElem.getElement(this.options.elemsContainer);return this._elemsContainer},_controlsClickHandler:function(event){var event=new Event(event).stop();var vector=this._getVectorControl(event.target);if(vector!=undefined&&this._isPossibleScrollByVector(vector)&&this._getFx())this._tryScrollingByVector(vector)},_getVectorControl:function(control){var vector;if(control.hasClass('left-scroll'))vector='left';if(control.hasClass('right-scroll'))vector='right';return vector},_isPossibleScrollByVector:function(vector){var result=false;var width=this.options.widthScrollElement*this.options.visibleElementsLength;var margin=this._getContainerElement().getStyle('margin-left').toInt();if(this._getElements()&&this._getElements().length&&this._getElements().length>this.options.visibleElementsLength)switch(vector){case'left':if(margin<0)result=true;break;case'right':if(-(margin-width+this.options.margin)<=this._getContainerElement().getSize().size.x)result=true;break}return result},_getLimits:function(){return{left:0,right:this.options.visibleElementsLength*this.options.widthScrollElement-this.options.widthScrollElement*this._getElements().length}},_getFx:function(){return this._fx},_setFx:function(fx){this._fx=fx},_tryScrollingByVector:function(vector){var marginBefore=this._getContainerMarginLeft();var limits=this._getLimits();var fx=this._getFx();this._setFx(null);switch(vector){case'left':var marginAfter=marginBefore+(this.options.step*this.options.widthScrollElement);marginAfter=-marginAfter<limits.left?limits.left:marginAfter;fx.start(marginAfter);break;case'right':var marginAfter=marginBefore-(this.options.step*this.options.widthScrollElement);marginAfter=-marginAfter>-limits.right?limits.right:marginAfter;fx.start(marginAfter);break}},_checkControlsStatus:function(){var margin=this._getContainerMarginLeft();if(this.options.circular&&this._getElements().length>1){var visible_width=this.options.visibleElementsLength*this.options.widthScrollElement;if(margin>-visible_width){for(var i=0;i<this.options.visibleElementsLength;++i){this._getContainerElement().getLast().injectTop(this._getContainerElement())}margin=-visible_width}else if(margin==-this._getElements().length*this.options.widthScrollElement+visible_width){for(var i=0;i<this.options.visibleElementsLength;++i){this._getContainerElement().getFirst().injectInside(this._getContainerElement())}margin=-this._getElements().length*this.options.widthScrollElement+visible_width*2}this._getContainerElement().setStyle('margin-left',margin)}else{var limits=this._getLimits();this._getControls().each(function(control){switch(this._getVectorControl(control)){case'left':if(-margin<=0){control.addClass('slider-al-inactive')}else{control.removeClass('slider-al-inactive')}break;case'right':if(-margin>=-limits.right){control.addClass('slider-ar-inactive')}else{control.removeClass('slider-ar-inactive')}break}}.bind(this))}},run:function(){if(this.options.widthScrollElement=='auto'){this.changeWidthScrollElement();$(window).addEvent('resize',this.changeWidthScrollElement.bind(this))}if(this.options.circular){this._setCircular()}var fx=new Fx.Style(this._getContainerElement(),'margin-left',{onComplete:function(){this._setFx(fx);this._checkControlsStatus()}.bind(this)});this._setFx(fx);this._checkControlsStatus();if(this._getControls()&&this._getElements()&&this._getContainerElement()){this._getControls().each(function(el){el.addEvents({'click':this._controlsClickHandler.bindWithEvent(this,el)})}.bind(this))}},_getContainerMarginLeft:function(){return this._getContainerElement().getStyle('margin-left').toInt()},_setCircular:function(){var container=this._getContainerElement();var elements=this._getElements();var scroll_count=Math.ceil(elements.length/this.options.visibleElementsLength);var rest=elements.length%this.options.visibleElementsLength;if(scroll_count==2){var clones_for_start=this._getElementsForClone(true,true);var clones_for_end=this._getElementsForClone(false,true);clones_for_start.each(function(clone){this._injectCloneElement(false,clone)}.bind(this));clones_for_end.each(function(clone){this._injectCloneElement(true,clone)}.bind(this));this._elems=null;var width=this._getElements().length*this.options.widthScrollElement;var margin=this.options.widthScrollElement*elements.length;container.setStyles({'width':width+'px','margin-left':-margin+'px'})}else if(scroll_count==3&&rest!=0){var clone_for_start=this._getElementsForClone(true);var clone_for_end=this._getElementsForClone();clone_for_start.each(this._injectCloneElement.bind(this,false));clone_for_end.each(this._injectCloneElement.bind(this,true));var width=elements.length*this.options.widthScrollElement;var margin=this.options.widthScrollElement*(elements.length-rest);container.setStyles({'width':width+'px','margin-left':-margin+'px'});this._elems=null}else if(scroll_count>=3){for(var i=0;i<this.options.visibleElementsLength;++i){this._getContainerElement().getLast().injectTop(container)}var margin=this.options.widthScrollElement*this.options.visibleElementsLength;container.setStyle('margin-left',-margin+'px')}},_getElementsForClone:function(from_end,all_elements){var cloned_elements=[];var elements=this._getElements();var start,count,rest;if(all_elements){start=from_end?elements.length-1:0;count=from_end?0:elements.length}else{rest=elements.length%this.options.visibleElementsLength;start=from_end?elements.length-1:0;count=from_end?rest:rest}if(from_end){for(var i=start;i>=count;--i){cloned_elements.push(this._clone(elements[i]))}}else{for(var i=start;i<count;++i){cloned_elements.push(this._clone(elements[i]))}}return cloned_elements},_clone:function(element){var clone=new Element('div');clone.setHTML(element.innerHTML);this.options.cloneProperties.each(function(property){clone.setProperty(property,element.getProperty(property))});return clone},_injectCloneElement:function(to_end,clone){var catalogItem=clone.getElement(this.options.catalogItemSelector);catalogItem.setProperty('id',catalogItem.getProperty(this.options.catalogItemField));if(to_end){clone.injectInside(this._getContainerElement())}else{clone.injectTop(this._getContainerElement())}if(!window.gecko||window.ff4AndGreater){this._executeElementScripts(clone)}},_executeElementScripts:function(element){var scripts=element.getElements('script');if(scripts.length){scripts.each(function(script){eval(script.innerHTML)})}},changeWidthScrollElement:function(){var count_left=Math.abs(this._getContainerMarginLeft()/this.options.widthScrollElement);var width=this.options.widthScrollElement=this._getContainerElement().getParent().getCoordinates().width-this.options.width_differense;var children=this._getElements();var count=children.length;children.each(function(elem){elem.setStyle('width',width+'px')});this._getContainerElement().setStyle('width',count*width+'px');if(!isNaN(count_left)){this._getContainerElement().setStyle('margin-left',-count_left*width+'px')}}});Scroller_class.implement(new Options);var VideoPopup_class=new Class({options:{selectors:{'video':'a[name=video]'},'tpl':'<div id=\"contestant${id}\">\n\t<div>\n\t\t${video}\n\t<\/div>\n\t<div class=\"author-label\">\n\t\t<div class=\"left-video-report\">\n\t\t\t<div class=\"video-reports-reporter author-name\">\n\t\t\t\t${user}\n\t\t\t\t{if twitter}\n\t\t\t\t<a target=\"_blank\" href=\"http:\/\/twitter.com\/${twitter}\">@${twitter}<\/a>\n\t\t\t\t{\/if}\n\t\t\t\t<span>${company}<\/span>\n\t\t\t<\/div>\n\t\t\t<div class=\"video-reports-title\">\n\t\t\t\t<a href=\"${url}\">${title}<\/a>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>'},container:null,data:null,popup:null,videos:null,initialize:function(container,data){this.container=container;this.data=data;this.videos=this.container.getElements(this.options.selectors.video);this.popup=new Popup_class('<table class=\"popup\">\r\n\t<tr><td class=\"lt\"><\/td><td class=\"t\" colspan=\"2\"><\/td><td class=\"rt\"><\/td><\/tr>\r\n\t<tr>\r\n\t\t<td class=\"l\"><\/td>\r\n\t\t<td class=\"cont\" name=\"content\"><\/td>\r\n\t\t<td class=\"close\"><img src=\"http:\/\/i.owox.ua\/popup-close.gif\" width=\"13\" height=\"13\" name=\"close\"\/><\/td>\r\n\t\t<td class=\"r\"><\/td>\r\n\t<\/tr>\r\n\t<tr><td class=\"lb\"><\/td><td class=\"b\" colspan=\"2\"><\/td><td class=\"rb\"><\/td><\/tr>\r\n<\/table>');this.popup.setOptions({single:false});this.popup.overlayON();this.bindEvents()},bindEvents:function(){this.videos.each(function(video){video.addEvent('click',this.onClick.bindWithEvent(this,video))}.bind(this))},onClick:function(e,video){User.popup.options.single=false;User.popup.elem.setStyle('z-index',2000);new Event(e).stop();var param=video.getProperty('param');this.popup.setContent(this.options.tpl,this.data[param]);this.popup.open();this.popup._posUpdate();this.onOpen(this.data[param])},onOpen:function(data){VotesCatalog.add(data['id']);$('fb_'+data['id']).innerHTML='<iframe src="//www.facebook.com/plugins/like.php?app_id=251849334859744&amp;href='+data['url']+'&amp;send=false&amp;layout=button_count&amp;width=200&amp;'+'show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=30"'+'scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px;'+'height:30px;" allowTransparency="true"></iframe>';$('vk_'+data['id']).innerHTML=VK.Share.button({title:'Голосую за доклад ('+data['title']+' - '+data['user']+')',description:data['description'],image:data['avatar'],url:data['url']},{type:"round",text:"Мне нравится"});gapi.plusone.render('gplus_'+data['id'],{"size":"medium","count":"true"})}});VideoPopup_class.implement(new Options);Subscribe_class.prototype.options.tpl='\t{if status === STATUS.PROCESS}\r\n\t\t<div class=\"ajax-process\">\r\n\t\t\t<img src=\"http:\/\/i.owox.ua\/conf\/ajax-process-subscribe.gif\" width=\"16\" height=\"16\" alt=\"ajax process\"\/>\u041f\u043e\u0434\u043f\u0438\u0441\u043a\u0430...\r\n\t\t<\/div>\r\n\t{elseif status === STATUS.YES}\r\n\t<h4>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430&nbsp;\u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a&nbsp;\u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438!<\/h4>\r\n\t{elseif status === STATUS.DONE}\r\n\t\t<div class=\"thanks\">\r\n\t\t\t<h4>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430&nbsp;\u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a&nbsp;\u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438!<\/h4>\r\n\t\t\t\u041d\u0430&nbsp;\u0432\u0432\u0435\u0434\u0435\u043d\u044b\u0439 \u0412\u0430\u043c\u0438 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b <b>${User.getEmail()}<\/b> \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u0441\u043e&nbsp;\u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438.\r\n\t\t\t<br\/>\r\n\t\t\t<br\/>\r\n\t\t<\/div>\r\n\r\n\t{elseif status === STATUS.ERROR}\r\n\t\t<div class=\"error\">\r\n\t\t\t<span>${Message.getContent()}<\/span>\r\n\t\t<\/div>\r\n\r\n\t{else}\r\n\t\t\t\t<form method=\"POST\"  _utry=\"http:\/\/my.owox.ua\/subscribe\/try\/\" _udone=\"http:\/\/my.owox.ua\/subscribe\/done\/\">\r\n\t\t\t<nobr>\r\n\t\t\t{if User.isAuth()}\r\n\t\t\t\t<b>${User.getEmail()}<\/b>&nbsp;\r\n\t\t\t\t<input value=\"${User.getEmail()}\" name=\"email\" type=\"hidden\" \/>\r\n\t\t\t{else}\r\n\t\t\t\t<input{if User.getEmail()} value=\"${User.getEmail()}\"{\/if} class=\"text\" name=\"email\" _required=\"required\" hint=\"\u042d\u043b. \u043f\u043e\u0447\u0442\u0430\" _required=\"required\" pattern=\"^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z0-9]{2,4})$\" \/>\r\n\t\t\t{\/if}\r\n\r\n\t\t\t<input name=\"name\" value=\"${name}\" type=\"hidden\" \/>\r\n\t\t\t<input type=\"submit\" value=\"\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f\" class=\"submit\"\/>\r\n\t\t\t<\/nobr>\r\n\t\t<\/form>\r\n\t{\/if}';
