try{
	$j = jQuery.noConflict();
}catch(e){
	$j = $;
}
function reloadLink(selopt){
	//document.location = 'component/option,com_adsmanager/page,write_ad/catid,'+selopt+'/Itemid,2/';
	//return;
    $j.ajax({
        url: '/index.php?option=com_adsmanager&page=write_ad_js_1&catid='+selopt + '&Itemid=2',
        type: 'POST',
        data: '',
        dataType: 'JSON',
        timeout: 9000,
        beforeSend: function(){
            $j('select[name^=category_]').attr('disabled', 'disabled');
			$j('#load_js_image').attr('style', 'display:inline');
        },
        complete: function(){
        },
        success: function(response){
			var reg= /<!--.*-->/ ;
			var response = response.replace(reg, "");
			try{
				var data = eval('('+ response +')');
			}catch(e){
				document.location = 'component/option,com_adsmanager/page,write_ad/catid,'+selopt+'/Itemid,2/';
				return;
			}	
			$j('#js_fields').html(data);
			/*complete*/
			$j('select[name^=category_]').removeAttr('disabled');
			$j('#load_js_image').attr('style', 'display:none');
			document.adminForm.category.value = selopt;
			document.adminForm.category.disabled = false;
			$j('#js_footer').attr('style', 'display:inline');
			document.getElementById("js_footer").style.display='';
        },
        error: function(){
			/*complete*/
			//alert('error');
			document.location = 'component/option,com_adsmanager/page,write_ad/catid,'+selopt+'/Itemid,2/';
			return;
			//$j('select[name^=category_]').removeAttr('disabled');
			//$j('#load_js_image').attr('style', 'display:none');
			//document.adminForm.category.value = selopt;
			//document.adminForm.category.disabled = false;
			//$j('#js_footer').attr('style', 'display:inline');
			//document.getElementById("js_footer").style.display='';
			//return reloadLink(selopt);
            //$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: 99000,
        beforeSend: function(){
            $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(){
        },
        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();
				}
				/*complete*/
				$j('select[name^=category_]').removeAttr('disabled');
				$j('#load_js_image').attr('style', 'display:none');
                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)); });
			/*complete*/
			$j('select[name^=category_]').removeAttr('disabled');
			$j('#load_js_image').attr('style', 'display:none');
			return false;
        },
        error: function(){
			$j('select[name^=category_]').removeAttr('disabled');
			$j('#load_js_image').attr('style', 'display:none');
			return getCategory(pcategory, level);
            //$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);
}
//Меню
	function load_cat_child(catid,level,dom){
		var cat = document.getElementById("child"+catid);
		var catlink = document.getElementById("adcatlink"+catid);
		var catlinkOldInnerHTML = catlink.innerHTML;
		var urltarget = '/components/com_adsmanager/ajax/listcatmenu.php?catid='+catid + '&level='+level;
		if(dom!=null && dom =='org') 
			urltarget = '/components/com_orgmanager/ajax/listcatmenu.php?catid='+catid + '&level='+level;
	    $j.ajax({
	        url: urltarget,
	        type: 'POST',
	        data: '',
	        dataType: 'JSON',
	        timeout: 99000,
	        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,dom){
		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,dom);
			}
		}
	}

