try{
	$j = jQuery.noConflict();
}catch(e){
	$j = $;
}

function reloadLink(selopt){
    $j.ajax({
        url: '/index.php?option=com_adsmanager&page=write_ad_js_1&catid='+selopt + '&Itemid=2',
        type: 'POST',
        data: '',
        dataType: 'JSON',
        timeout: 5000,
        beforeSend: function(){
            // Блокируем все необходимы select`ы
            $j('select[name^=category_]').attr('disabled', 'disabled');
			$j('#load_js_image').attr('style', 'display:inline');
			
        },
        complete: function(){            // Снимаем блокировку
			//alert(selopt);
			$j('select[name^=category_]').removeAttr('disabled');
			$j('#load_js_image').attr('style', 'display:none');
			//$j('#category').removeAttr('disabled');
			document.adminForm.category.value = selopt;
			document.adminForm.category.disabled = false;
			$j('#js_footer').attr('style', 'display:inline');
			document.getElementById("js_footer").style.display='';

        },
        success: function(response){
			var reg= /<!--.*-->/ ;
			var response = response.replace(reg, "")
			var data = eval('('+ response +')');
			$j('#js_fields').html(data);
        },
        error: function(){
            // Сообщаем пользователю, что произошла ошибка
            $j('#msg').append('<p>Some error with categories. Please, try later ;)</p>');
			alert('Время ожидания истекло. Попробуйте закрыть и открыть форму заново.');	
            return false;
        }
    });
}

function getCategory(pcategory, level) {
    $j.ajax({
        url: '/components/com_adsmanager/ajax/list.php',
        type: 'POST',
        data: 'pcategory='+ pcategory +'&level='+ level,
        dataType: 'JSON',
        timeout: 5000,
        beforeSend: function(){
            // Блокируем все необходимы select`ы
            $j('select[name^=category_]').attr('disabled', 'disabled');
			$j('#load_js_image').attr('style', 'display:inline');
			$j('#js_footer').attr('style', 'display:none');			
			$j('#js_fields').html("");			
			
        },
        complete: function(){  // Снимаем блокировку
            $j('select[name^=category_]').removeAttr('disabled');
			$j('#load_js_image').attr('style', 'display:none');
        },
        success: function(response){
            var data = eval('('+ response +')');
            // Если количество категорий в ответе 0 либо не определено
            if(data.count === 'undefined' || data.count == 0) {
                // просто удаляет старшие уровни каскада
				$j('select[name=category_'+ (data.level - 1) +']')
                    .clearField('select[name^=category]')
                    .clearField('span');
					
				// моя вставка 
				if(data.count == 0) {
				function onChSelect() {
					var selopt = $j('select[name=category_'+ (data.level - 1) +']').find('option:selected').attr('value');
					$j('select[name=category_'+ (data.level - 1) +']').change=(reloadLink(selopt));
					}
					onChSelect();
				}
                return false;
            }
            if( $j('select[name=category_'+ data.level +']').length ) {
                // Если select этого уровня уже существует
                // мы должны удалить все старшие select`ы,
                // очистить старые данные и заполнить новым контентом
                $j('select[name=category_'+ data.level +']')
                    .clearField('select[name^=category]')
                    .clearField('span')
                    .fillSelect(data.item);
            } else {
                // Если select этого уровня не существует,
                // мы должны его создать и заполнить данными
                $j('#categories select:last').after('<span><br style="margin-bottom:10px; margin-top:10px;"/></span> <select name="category_'+ data.level +'" class="adsmanager_required"></select>');
                $j('select[name=category_'+ data.level +']').fillSelect(data.item);
            }
            /* Сбрасываем старый обработчик */
            $j('select[name=category_'+ data.level +']').unbind('change');
            /* Вешаем новый */
            $j('select[name=category_'+ data.level +']').change(function(){ return clickEvent($j(this)); });
            return false;
        },
        error: function(){
            // Сообщаем пользователю, что произошла ошибка
            $j('#msg').append('<p>Some error with categories. Please, try later ;)</p>');
            return false;
        }
    });
}


/* Добавляем обработчик событий при изменении пункта списка */
function clickEvent(select){
    var id = select.find('option:selected').attr('value');
	/**
     * Если id=-1, значит выбран пункт "Выбор.."
     * значит мы должны просто очистить старшие списки
     */
    if (id == '-1') {
    	select.clearField('select[name^=category]').clearField('span');
    	return false;
    }

    var level = parseInt(select.attr('name').replace('category_', '')) + 1;
    return getCategory(id, level);
}

/* Проверяем наличие переменной catid */
/*
function testGetArr(){
	try{
		$j = jQuery.noConflict();
	}catch(e){
		$j = $;
	}
	$j(document).ready(function(){
	    $j('select[name^=category] option').live("click", function(){
	      		var select = $j(this).parents('select');
	    	  	var level = parseInt(select.attr('name').replace('category_', '')) + 1;
		     	return getCategory(select.find('option:selected').attr('value'), level);
		})
	    // Получаем список категорий 
    	getCategory(0, 0);
	});
}
*/
//Меню
	function load_cat_child(catid,level){
		var cat = document.getElementById("child"+catid);
		var catlink = document.getElementById("adcatlink"+catid);
		var catlinkOldInnerHTML = catlink.innerHTML;
	    $j.ajax({
	        url: '/components/com_adsmanager/ajax/listcatmenu.php?catid='+catid + '&level='+level,
	        type: 'POST',
	        data: '',
	        dataType: 'JSON',
	        timeout: 5000,
	        beforeSend: function(){
				$j('#ajaxMenuWait').attr('style', 'display:inline');
				catlink.innerHTML = catlink.innerHTML + document.getElementById("spMenuWait").innerHTML;
				$j('#ajaxMenuWait').attr('style', 'display:none');
	        },
	        complete: function(){
				catlink.innerHTML = catlinkOldInnerHTML;
	        },
	        success: function(response){
				var data = eval('('+ response +')');
				cat.innerHTML = data;
	        },
	        error: function(){
				catlink.innerHTML = catlinkOldInnerHTML;
				document.location = catlink;
	            return false;
	        }
	    });
	}
	function show_ad_child_menu(catid,level){
		var cat = document.getElementById("child"+catid);
		if(cat.style.display == "none"){
			cat.style.display = "inline";
		}else{
			if(cat.innerHTML != "" && cat.innerHTML != null){
				cat.style.display = "none";
			}else{
				load_cat_child(catid,level);
			}
		}
	}
