
		function destroy_admin_block(){			

				$("#admin_popup").remove();

				$("span.user").removeClass("user_active");  		
		}
			
		function get_userid(element_id){
			var matches = new Array();
			if(matches = /user_(\d+)/.exec(element_id)){	
				return matches[1];
			} else {
				return false;
			}
		}

		jQuery(function($) {	
			$("span.user").click(function() {
				var parent_element = $(this);
				if(!parent_element.hasClass("user_active")){
					if(user_id = get_userid(parent_element.attr('id'))){
						destroy_admin_block();
						$("body").prepend('<div id="admin_popup"><div id="close_admin_popup">X</div><div id="admin_popup_html"><div align="center"><img src="/img/ajax-loader.gif"><br>...Загружается...</div></div></div>');
						$("#admin_popup").css({
			      	'position' 	: 'absolute',						
      				'top' 		: (parent_element.offset().top + parent_element.height()) + 'px',
      				'left' 		: (parent_element.offset().left) + 'px'
						});
						$("#admin_popup").slideToggle('fast');

						$("#close_admin_popup").click(function() {
							destroy_admin_block();
						});

						parent_element.addClass("user_active");
						$.get('/cgi-bin/admin/jx_popup.cgi?id=' + user_id,
							function show_block(block_html){	
								$("#admin_popup_html").html(block_html);								
						});
					}
				}
			});
		});


$(document).ready(function(){
	var inputs={};
	var sum=0;
	
	toggleMenuAuto();

	
//Обработчики ссылок
	
	$('a.order').each(function(){
		var a=$(this);
                var href=a.attr('href');
                if((/desc$/.test(href))==true){
                        a.removeClass('arr_up').addClass('arr_down');
                }else{
                        a.removeClass('arr_down').addClass('arr_up');
                }
	})
	
	$('a').click(function(){
		var a=$(this);
        if(a.hasClass('full-quote-link')){
            var $this=$(this);
            $this.parent().next().children(".quote-full").slideToggle();
            $this.toggleClass("collapse");
            return false;
        }else if(a.hasClass('tab-link')){
			var parent=a.parents('li');
			toggleMenu(a,parent);
			return false;
		}else if(a.parent().hasClass('selected') && !a.parents('.menu').is('ul')){
			return false;
		}else if(a.parents('.app-form-header').is('div')){
			$(a.attr('href')).removeClass('hidden').siblings('.app-form-body').addClass('hidden');
			a.parent().addClass('selected').siblings().removeClass('selected');
			return false;
		}else if(a.parent().parent('#set_rate').is('td')){
			var form=a.parent().siblings();
			form.toggleClass('hidden');
			if(!form.hasClass('hidden')){
				a.text('Скрыть поле')
			}else{
				a.text('Установить ставку')
			}
			return false;
		}else if(a.parents('#disable_after').is('ul')){
			a.parent().addClass('selected');
			a.parent().siblings('.selected').removeClass('selected');
			var auto=$('#auto');
			if(!auto.is(':checked')) auto.click();
		}else if(a.parents('#group-by-list').is('ul')){
			a.parent().addClass('selected');
			a.parent().siblings('.selected').removeClass('selected');
		}else if(a.hasClass('check_url')){
			var errors=checkAll();
			if(errors['url']==false){
				$('input[name="url"]').addClass('wrong');
			}else{
				$('input[name="url"]').removeClass('wrong')
			}	
			return false;
		}else if(a.hasClass('scroll')){
			var where=a.attr('href').match(/#(\w+)$/i)[1];
			scrollUp($('a[name="'+where+'"]'));
			return false;
		}else if(a.attr('href')=='#login'){
			$('#screen').show();
			return false;
		}else if(a.attr('href')=='#close'){
			$('#screen').hide();
			return false;
		}else if(a.hasClass('popup-link')){
			var popup=$(a.attr("href"));
			var arr=popup.children('i');
			popup.toggleClass('hidden').css({
				'left' : (a.offset().left-parseInt(arr.css('left'))) + 'px',
				'top' : (a.offset().top-a.height()-popup.height()-arr.height()-8) + 'px'
			}).click(function(){
				popup.addClass('hidden');
			});
			return false;
		}else if(a.hasClass('modal-link')){
			var modal=$(a.attr("href"));
			$('#screen').show();
			$(modal).removeClass('hidden').siblings(".modal-wrapper").addClass("hidden");
			return false;
		}
		return true;
	})
	
	$('.inactive').click(function(){
		return false;
	})
	
	$('ul.menu>li>h3>a').click(function(){
		if($('#stats').is('div')) return true;
		var a=$(this),
			parent=a.parent().parent(),
			id=a.attr('href');
		toggleMenu(a,parent);
		if(id=="#content"){
			$(id).toggleClass('sell');
			$('#partners table').toggleClass('hidden');
		}
		return false;
	});
	
	$('a.r_names').mouseover(function(){
		$(this).children('i').removeClass('hidden');
	}).mouseout(function(){
		$(this).children('i').addClass('hidden');
	}).click(function(){
		var href=$(this).attr('href');
		if($(href).is(':checked')){
			$(href).attr("checked", false);
		}
		$(this).parents('li').remove();
		return false;
	})
		
	$('.choose-partners').click(function(){
		var from_id=$(this).parents('.modal-wrapper').attr('id'),
			to_id=from_id+"-names",
			list="";
		if($('#'+from_id+' .include').is(':checked')){
			$('.inc-'+from_id).removeClass('hidden').siblings('span').addClass('hidden');
		}else if($('#'+from_id+' .except').is(':checked')){
			$('.ex-'+from_id).removeClass('hidden').siblings('span').addClass('hidden');
		}
		$('#'+from_id+' .r_names').each(function(){
                        var li="";
                        if($(this).is(":checked")){
                                li="<li><a href='#"+$(this).attr('id')+
                                        "' class='inner r_names "+$(this).attr('name')+"'>"+
                                        $(this).siblings('label').text()+
                                        "<i class='hidden'></i></a></li>";
                        }
                        list+=li;
                })
		$('#'+to_id).children('ul').empty().append(list);
		$('a.r_names').mouseover(function(){
                        $(this).children('i').removeClass('hidden');
                }).mouseout(function(){
                        $(this).children('i').addClass('hidden');
                }).click(function(){
                        var href=$(this).attr('href');
                        if($(href).is(':checked')){
                                $(href).attr("checked", false);
                        }
                        $(this).parents('li').remove();
                        return false;
                })
		$('#screen').hide();
	})
	
    var isSHExpOpen=false,
        borderWidth=1;
    
    $(".section-header .expand").click(function(e){
        e.stopPropagation();
        var $this=$(this);
        $this.next(".expandable").toggle().css({left:$this.prev().width()-borderWidth+"px"});
        $this.parent(".expandable").hide();
        isSHExpOpen=true;
        return false;
    })
    
    $("body").click(function(){
        if(isSHExpOpen){$(".expandable").hide();}
    })
    
    $(".expandable").click(function(e){
        e.stopPropagation();
    })

//Вложенное меню

    var leftPadding=14;

	$('#header ul.menu .selected').each(function(){
		var embedded=$('#embedded');
		if(!embedded.hasClass('hidden')){
			resetEmbMenu($(this))
		}
	})
	
	$(window).resize(function(){
		$('#header ul.menu .selected').each(function(){
			var embedded=$('#embedded');
			if(!embedded.hasClass('hidden')){
				resetEmbMenu($(this));
			}
	})})
	
	$("#header .menu li").mouseover(function(e){
        e.stopPropagation();
        var $this=$(this);
        $this.siblings(".with-embedded").removeClass("with-embedded").addClass("with-embedded-changed");
		$this.siblings().removeClass('activated');
        if(!$this.hasClass('selected')) $this.addClass('activated');
        if($this.attr('class')==null || $this.attr('class').match(/item-\d/g)==null) {
			$("#embedded").addClass("changed hidden");
        }else{
            resetEmbMenu($this);
        }
    })
        
    $("#embedded").mouseover(function(e){
        e.stopPropagation();
    })
    
    $("#header .selected").mouseover(function(){
        callMenuHandlers();
    })
    
    $("body").live("mouseover",function(){
        callMenuHandlers();
    })
    
	function callMenuHandlers(){
        resetEmbMenu($("#header .selected.with-embedded-changed"));
        $("#header .with-embedded-changed").removeClass("with-embedded-changed").addClass("with-embedded");
        if($("#header .selected")[0]==null || $("#header .selected").attr('class').match(/item-\d/g)==null){$("#embedded").addClass("hidden")}else{$("#embedded.changed").removeClass("hidden");}        
        $("#header .activated").removeClass("activated");
    }
    
    function resetEmbMenu(li){
        var $this=li;
        if($this[0]!=null) {
            var thisClass=$this.attr('class').match(/item-\d/g),
                thisLeft=$this.offset().left+leftPadding;
			var emb=$('#embedded'),
                embWidth=0;
            emb.removeClass("hidden");
            emb.children('.'+thisClass).removeClass('hidden').siblings('ul').addClass('hidden');
            $("#embedded li").each(function(){
                var $this=$(this);
                embWidth+=$this.width();
            });
            if($this.is(":last-child")){
                emb.css("left",thisLeft-embWidth+leftPadding/2-2+"px")
            }else{
                emb.css("left",thisLeft+"px");
            }
        }
    }
    
//Календарь
	
	if(typeof($.datepicker)==='object'){
		$('#disable_date,#from_date,#to_date,#start_date').datepicker({
			dateFormat: 'yy-mm-dd',
			showOn: "button",
			buttonImage: "/src/calendar.png",
			buttonImageOnly: true
		}).click(function(){
			$("#auto").click();
		})
	}
	
//Обработчики полей форм
	
	$('input[type="text"]').each(function(){
		var item=$(this);
		inputs[item.attr('name')]=item.val();
	}).focus(function(){
		resetField($(this));
	}).blur(function(){
		resetField($(this));			
	})
	
	
	$("#partner-search").keyup(function(){
		var templ=new RegExp($(this).val(),'ig');
		searchOption(document.add_anounce.partner.options,templ);
	})
	
	$('select').focus(function(){
		var select=$(this);
		if(select.hasClass('disabled')){
			select.removeClass('disabled');
		}
	})
	
	$('select[name="partner"]').mouseover(function(){
		$("#partner-search").animate({marginLeft:'396px',zIndex: 1}, 'fast');
	})
	
	$('#select_partner').change(function(){
		var location=window.location.href.replace(window.location.search,'');
		window.location.href=location+'?partner='+$(this).children(':selected').val();
	})
	
//Форма пополнения счёта
	
	$('input[name="pay_method"]').change(function(){
		sum=parseInt($(this).attr('maxlength'));
		if($(this).attr('id')=='sber'){
			$('input[name="payer"]').addClass('required');
		}else{
			$('input[name="payer"]').removeClass('required');
		}
	})

	$('form[name="account"],form[name="checkout"]').submit(function(){
		var input=$('input[name="summ"]'),
			user_sum=parseInt(input.val())||0,
			payer=$('input[name="payer"]'),
			payer_name=payer.val();
			payer_length=payer_name.replace(/[^A-Za-z\u0410-\u044F\u0401\u0451]/g, '').length;
			sys_mes=$(this).children('.system_message').removeClass('hidden');
		if(user_sum<sum){
			input.addClass('wrong').val('').removeClass('changed');
		}else{
			input.removeClass('wrong');
		}
		if(payer.hasClass('required') && (payer_length==0 || payer_name==inputs['payer'])){
                        payer.addClass('wrong');
                }else{
			payer.removeClass('wrong');
		}
		
		if(user_sum<sum && payer.hasClass('required') && (payer_length==0 || payer_name==inputs['payer'])){
			sys_mes.addClass('error');
			sys_mes.children('span').text('Поля заполнены некорректно');
			return false;
		}else if(user_sum<sum && (!payer.hasClass('required') || (payer.hasClass('required') && (payer_length!=0 && payer_name!=inputs['payer'])))){
			sys_mes.addClass('error');
			sys_mes.children('span').text('Минимальная сумма - '+sum+' руб.');
			return false;
		}else if(user_sum>=sum && payer.hasClass('required') && (payer_length==0 || payer_name==inputs['payer'])){
			sys_mes.addClass('error');
			sys_mes.children('span').text('Введите имя плательщика');
			return false;
		}else{
			input.removeClass('wrong');
			payer.removeClass('wrong');
			sys_mes.addClass('hidden');
			return true;
		}
	})
	
//Форма добавления анонсов
	
	$('input[name="small_text"],input[name="title"],.by_length').focus(function(){
		var input=$(this),
			maxlength=parseInt(input.attr('maxlength')),
			minlength=input.attr('minlength') || 15,
			vallength,
			result=input.parent().siblings('.result'),
			charLength=function (){
					vallength=input.val().length;
					result.removeClass('expl');
					if(vallength<minlength){
						result.removeClass('positive').addClass('negative').text(vallength);
					}else{
						result.removeClass('negative').addClass('positive').text(vallength);
					}
				}
		input.bind({
			'keyup' : charLength,
			'blur' : charLength
		})
	})
	
	$('.required').change(function(){
		var pid='#'+$(this).parents('.app-form-body').attr('id')||'';
		if(checkRequired()==true){
			$('#save_button').removeClass('inactive').unbind('click');
			$('#pay_button').removeClass('inactive').unbind('click');
			$('#query_button').removeClass('inactive').unbind('click');
		}else if(checkRequired(pid)==true){			
			$(pid+' .proceed-button').removeClass('inactive').click(function(){
				$(pid).addClass('hidden').next().removeClass('hidden');
				$('a[href="'+pid+'"]').parent().removeClass('selected').next().removeClass('inactive').addClass('selected')
			})
		}else{
			return;
		}
	})
	
	$('form[name="add_anounce"]').submit(function(){
		var sys_mes=$('.system_message');
		var errors=checkAll(),
			isOk=true;
		for(var field in errors){
			var input=$('input[name="'+field+'"]'),
				minlength=input.attr('minlength') || 15;
			if(errors[field]==false){
				input.addClass('wrong');
				if(field=='title' || field=='small_text'){
					input.parent().siblings('.result').addClass('negative').text('Меньше '+minlength+'!')
				}
				isOk=false;
			}else{
				input.removeClass('wrong');
			}
		}
		if(isOk==false){
			sys_mes.addClass('error').removeClass('hidden');
		}else{
			sys_mes.addClass('hidden');
		}
		return isOk;
	})
	
//Форма личного кабинета
	
	$('#personal-form,.app-form').submit(function(){
		var sys_mes=$('.system_message');
		var errors=checkAll($('.required')),
			isOk=true;
		for(var field in errors){
			var input=$('#'+field),
				minlength=input.attr('minlength') || 15;
			if(errors[field]==false){
				input.addClass('wrong');
				if(input.hasClass('by_length')){
					input.parent().siblings('.result').addClass('negative').text('Меньше '+minlength+'!')
				}else{
					input.parent().siblings('.result').removeClass('expl').addClass('negative')
				}
				isOk=false;
			}else{
				input.removeClass('wrong');
			}
		}
		if(isOk==false){
			sys_mes.addClass('error').removeClass('hidden');
		}else{
			sys_mes.addClass('hidden');
		}
		return isOk;
	})
	
//Обработчики табличных полей

	$('tr.odd').removeClass('odd')
	
	$('table').each(function(){
		if($(this).hasClass('account') || $(this).hasClass('noformat')) return;
		var table=$(this),
			c=1;
		table.children('tbody').children('tr').each(function(){
			if(c%2!=0){
				$(this).addClass('odd');
			}
			c++;
		})
	})
	
	$('tr.removable').mouseover(function(){
		toggleControls($(this));
	}).mouseout(function(){
		toggleControls($(this));
	})
	
//Вспомогательные функции
	
	function checkAll(joFields){
		var errors={},
			title=$('input[name="title"]'),
			subtitle=$('input[name="small_text"]'),
			url=$('input[name="url"]'),
			o_let=/[^\w\s\u0410-\u044F\u0401\u0451,\.;:?!&%)(-]/g,
//			o_url=/^(http:\/\/)?[\w\.-]+\.\w+\/?[\w\u0410-\u044F\u0401\u0451\/\.?&=%#+:-]*\s*$/;
			o_url=/^(http:\/\/)?.*$/;
			o_email=/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
		if(!joFields){
			errors[title.attr('name')]=title.val().replace(o_let,'').length>(title.attr('minlength')==undefined ? 14 : title.attr('minlength'));
			errors[subtitle.attr('name')]=subtitle.val().replace(o_let,'').length>(subtitle.attr('minlength')==undefined ? 14 : subtitle.attr('minlength'));
			errors[url.attr('name')]=o_url.test(url.val());
		}else{
			
			joFields.each(function(){
				var el=$(this)
				if(el.attr("type")=="text"){
					if(el.hasClass('url')){
						errors[el.attr('id')]=o_url.test(el.val());
					}else if(el.hasClass('email')){
						errors[el.attr('id')]=o_email.test(el.val());
					}else{
						errors[el.attr('id')]=el.val().replace(o_let,'').length>(el.attr('minlength')==undefined ? 14 : (el.attr('minlength')-1));
					}
				}else if(el.attr("type")=="password"){
					errors[el.attr('id')]=el.val().replace(o_let,'').length>(el.attr('minlength')==undefined ? 14 : (el.attr('minlength')-1));
				}
			})
		}
		return errors;
	}
	
	function checkRequired(parent_id){
		var isOk=true,
			a=[],
			pid=!parent_id ? '' : parent_id+' ';
		$(pid+'input[type="text"].required,'+pid+'input[type="password"].required').each(function(){
			if($(this).val()==''){
				a.push(false);
			}else{
				a.push(true);
			}
		})
		
		if($(pid+'input[type="radio"].required')[0]!=undefined){
			var r_vals=[],
				r_name;
			$('input[type="radio"].required').each(function(){
				var this_name=$(this).attr('name');
				
				if(r_name!=this_name){
					r_vals.push(false);
					r_name=this_name;
				}
				if($(this).is(':checked')){
					r_vals.pop();
					r_vals.push(true);
				}
			})
			a=a.concat(r_vals);
		}
		
		$(pid+'select.required').each(function(){
			var s_val=false;
			$(this).children().filter(':selected').each(function(){
				if($(this).val()!=''){
					s_val=true;
				}
			})
			a.push(s_val);
		})
		
		for(var i=0;i<a.length;i++){
			if(a[i]==false){
				isOk=false;
				break;
			}
		}
		
		return isOk;
	}
		
	function removeField(button){
		$('#'+button.attr('href')).remove();
	}
	
	function resetField(input){
		if(!input.hasClass('changed') && (input.val()==inputs[input.attr('name')] || input.val()=='') && !input.hasClass('edit')){
			input.addClass('changed');
			input.val('');
		}else if(input.hasClass('changed') && input.val()==''){
			input.removeClass('changed');
			input.val(inputs[input.attr('name')]);
		}
	}
	
	function scrollUp(where){
		if(where){
			$('html, body').animate({scrollTop:where.offset().top}, 'slow');			
		}
	}
	
	function searchOption(list,templ){
		for(var i=0;i<list.length;i++){
			if(list[i].text.search(templ)!=-1){				
				list[i].selected=true;
			}
		}
	}
	
	function toggleControls(tr){
		tr.children().children().children('a').toggleClass('invisible');
		tr.toggleClass('active');
	}
	
	function toggleMenu(a,parent){
		a.each(function(){
			if(!parent.hasClass('selected')){
				parent.siblings().removeClass('selected');
				parent.addClass('selected');
				$('.args').each(function(){
					var ul=$(this);
					if(parent.hasClass('title_cont')){
						if(a.attr('name')==ul.attr('id') && ul.hasClass('hidden')){
							ul.animate({'height':'show'});
							$('.up').attr('href', '#'+a.attr('name'));
						}else{
							ul.animate({'height':'hide'});
						}
					}else{
						if(a.attr('name')==ul.attr('id') && ul.hasClass('hidden')){
							ul.removeClass('hidden');
							$('.up').attr('href', '#'+a.attr('name'));
						}else{
							ul.addClass('hidden');
						}
					}
				});		
			}
		})
	}
	
	function toggleMenuAuto(){
		var loc=document.location+'';
		var anchor=loc.match(/#(\w+)$/i);
		var a,where;
		if(anchor!=null){
			a=$('a[name="'+anchor[1]+'"]');
			where=a;
			if(a.parent().is('h2')){
				a=$('a[name="ul1"]');
			}
		}else{
			a=$('a[name="ul1"]');
			where='';
		}
		var parent=a.parent().parent();
		toggleMenu(a,parent);
		scrollUp(where);
	}
	
	if(typeof($.fn.wordSearcher)==='function'){	
		$('#TagSearch').wordSearcher({
			'url' : 'http://shop.gnezdo.ru/cgi-bin/admin/getlogin.cgi',
			'queryString' : '?mode=1&word='
		});
	}
})

/* comment */

