(function(){var lastScrollElement=0;var centerIt=function(element,active){toolbox.position.centerThat(element,active);lastScrollElement=element;}
$(function(){$(window).bind('scroll',function(){centerIt(lastScrollElement,1)},false);});var abuse={cache:{},currentShow:0,themes:{},activeTheme:0,theme:function(name,set){set.form=this;set.selfset=set;if(name in this.themes){$.extend(this.themes[name],set);}else{this.themes[name]=set;}},callTheme:function(name,args){if(!this.activeTheme||!this.activeTheme[name])return;return this.activeTheme[name].apply(this,args);},addVariable:function(name,value){this[name]=value;},getPopup:function(callback_){var pop=$('#abusePopup');var _this=this;var callback=0;if(callback_){callback=function(_pop){setTimeout(function(){callback_(_pop);},10);}}
pop=toolbox.ui.popup('grey');if(callback){callback(pop);}
return pop;},getFields:function(element){var data={};var i=0;$.each($("input,select,textarea",element),function(){var $this=$(this);if(!(this.type=='checkbox')||this.checked){if(!(this.type=='radio')){if($this.attr('name')){data[$this.attr('name')]=$this.val()||$this.html();}
if(this.type.indexOf('select')==0){data[$this.attr('name')+'_selectedvalue']=$("option:selected",$this).text();}}
if((this.type=='radio')&&(this.name=='operation')){if((this.checked==true)){data[$this.attr('name')]=data[$this.attr('name')+'_selectedvalue']=$this.val();}else{if(data[$this.attr('name')+'_selectedvalue']==undefined){data[$this.attr('name')]=$this.val();}}}}});return data;},errorField:function(fname){var el=$("[name="+fname+"]",this.currentShow);if(fname=='message'){var up=el.parent();if(up.hasClass('more')){el=up;}}
var save=el[0].style.cssText;el.css({border:'1px solid #A91010'});clearTimeout(el.attr('errtm'));el.attr('errtm',setTimeout(function(){el[0].style.cssText=save;},2000));},showError:function(error){if(!error){$(".error-container",this.currentShow).hide();}else{$(".error-container",this.currentShow).removeAttr('style').hide().html("<p><strong>"+error+"</strong></p>").stop().show('slow');}},check:function(element){try{this.showError('');var fields=this.getFields(element);var fErr='';if(('operation'in fields)&&(typeof(fields.operation_selectedvalue)=="undefined")){fErr='Укажите тип услуги';}
else if(('adtype'in fields)&&(fields.adtype_selectedvalue=="")){fErr='Укажите тип недвижимости';this.errorField('adtype');}
else if(('message'in fields)&&!fields.message){fErr='Укажите текст заявки';this.errorField('message');}
else if(('name'in fields)&&!fields.name){fErr='Укажите Ваше имя';this.errorField('name');}
else if(('mail'in fields)&&!fields.mail){fErr='Укажите E-mail';this.errorField('mail');}
else if(('phone'in fields)&&!fields.phone){fErr='Укажите телефон';this.errorField('phone');}
else if(('mail'in fields)&&!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(fields.mail)){fErr='Указан неверный E-mail';this.errorField('mail');}
else if(('captcha_word'in fields)&&!fields.captcha_word){fErr='Введите код';this.errorField('captcha_word');}else{fErr=this.callTheme('check',[fields,element]);}
if(fErr){this.showError(fErr);return false;}}catch(e){this.showError('неизвестная ошибка');console.log(e);return false;}
return true;},send:function(element){var _this=this;var fields=this.getFields(element);var target=$("form",element).attr('action');this.showError('отправка');fields.referer=document.referrer;$.post(target,fields,function(data){var fErr='';switch(data.ok){case 1:fErr=null;$('div.thanks').show().find('p').html(data.message);$('form',element).hide();$(element).parent().parent().find('.intro-text').hide();_this.callTheme('complete',[element,data]);centerIt(element);break;case 0:fErr=data.message;break;case 2:fErr=data.message;_this.errorField(data.field);break;default:fErr='неизвестная ошибка';}
if(data.ok!=1){if('captcha_word'in fields){$('.refresh',element).click();}}
_this.showError(fErr);},"json");},close:function(){lastScrollElement=0;if(this.currentShow){var _this=this;this.currentShow.animate({'top':$(window).height()+$(document).scrollTop()},function(){_this.currentShow.hide();});}
$('#gde_popup_overlay').fadeOut();},patch:function(element){var _this=this;$(".closePopup",element).click(function(){_this.close();return false;});$("#gde_popup_overlay").unbind('click').click(function(){});$('form',element).submit(function(){try{if(_this.check(element)){_this.send(element);}}catch(e){_this.showError('неизвестная ошибка');}
return false;});var lasttext='';$('[name=message]',element).mousemove(function(){$(this).keypress();});$('[name=message]',element).keypress(function(){var len=Math.max(0,4000-$(this).val().length);if(len>=0){lasttext=$(this).val();}else{$(this).val(lasttext);}
$(".counter",element).html(len);});$('.refresh,.refresh2',element).click(function(){var el=$(".cap_image img",element);el.attr('src',refreshCaptchaURL(el.attr('src')));return false;});this.callTheme('patch',[element]);},request:function(template,callback){var add_css=function(src){var fileref=document.createElement("link");fileref.setAttribute("rel","stylesheet");fileref.setAttribute("type","text/css");fileref.setAttribute("href",src);if(typeof fileref!="undefined"){document.getElementsByTagName("head")[0].appendChild(fileref);}}
if(this.themes[template]){this.activeTheme=this.themes[template];}else{this.activeTheme=0;}
var _this=this;var popup=this.getPopup(function(popup){var runit=function(datain){var temp=$("<div></div>");temp.html(_this.cache[template]);var inc=$(".include",temp);$.each($("span",inc),function(i,j){var $this=$(this);3
if($this.hasClass('css')){add_css($this.text());}});inc.remove();setTimeout(function(){popup[0].innerHTML=(temp.html());callback.apply(popup);},1);};popup.inEffect.prepare();if(_this.cache[template]){runit(_this.cache[template]);setTimeout(function(){$('.refresh',popup).click();},200);return;}
$.ajax({url:'/feedback/abuse/'+template+'/',dataType:'html',success:function(data){setTimeout(function(){runit(_this.cache[template]=data);},5);}});});},overHookWheel:function(inelement){var stopBubble=function(event){event=event||window.event;event.cancelBubble=true;event.cancel=true;event.returnValue=false;if(event.stopPropagation)event.stopPropagation();return false;}
$.each(inelement,function(){var node=this;var element=node;var eventName='mousewheel';var _this=this;var callback=function(event){return stopBubble(event)};if(element.addEventListener){element.addEventListener('DOMMouseScroll',callback,false);element.addEventListener(eventName,callback,false);}
else if(element.attachEvent){element.attachEvent("on"+eventName,callback);}});},show:function(template,mode,seller){var _this=this;this.request(template,function(){var popup=this;var $this=$(">div",this);lastScrollElement=$this;_this.currentShow=$this;_this.patch($this);$this.hide().css({top:'-99999px'}).show();if(typeof(seller)!='undefined')
$('#sellerId',$this).val(seller);popup.inEffect.patch();popup.inEffect.dropFromTop($this);_this.overHookWheel($this);_this.overHookWheel($('*',$this));_this.overHookWheel($('#gde_popup_overlay'));});return false;}};window.abuseForm=abuse;abuseForm.theme('selection_request',{patch:function(form){var atcheck=function(){var inval=$(this).val();if(this.checked){var dval=(inval==95||inval==96||inval==97);var dis=function(){$("[name=adtype]",form).attr('disabled',dval?true:false);};dis();}};$('.adop input',form).change(atcheck).click(atcheck);}});})();
