﻿function init_catalog(params){var container=params.container;var type=params.type;if(!container)container=$('#catalog_container');if(params.send_search)container.data('send_search',true);container.load('catalog_template.html',function(){if(!type){$('.catalog_tabs > a:first',container).addClass('active_tab');$('.catalog_tabs > a',container).click(function(){if(!$(this).hasClass('active_tab')){$('.catalog_tabs > a',container).removeClass('active_tab');$(this).addClass('active_tab');load_catalog(container,'tab_'+($('.catalog_tabs > a',container).index(this)-(-1)));}return false;});load_catalog(container);return false;}else{if(type==1||type==2||type==3){$('.catalog_tabs',container).hide();load_catalog(container,'tab_'+type);return false;}}load_catalog(container);});};function get_catalog_element(target){var id,name;if($('.catalog_address a',target).size()<=1){return[null,null];}else{id=$('.catalog_address a:last',target).data('id');name=$('.catalog_address a:last',target).text();return[id,name]}return[null,null];};function get_full_address(target){var id,name;if($('.catalog_address a',target).size()<=1){return[null,null];}else{id=$('.catalog_address a:last',target).data('id');name=$('.catalog_address',target).text();return[id,name]}return[null,null];};function load_catalog(target,id){var url='/m009/xml/getCategories',params={};var name,type=1;var xmlCat;if(!id||id=='tab_1'||id=='tab_2'||id=='tab_3'){if(!id)id='tab_1';if(id=='tab_2')type=2;else if(id=='tab_3')type=3;else type=1;params={'type':type};$('.catalog_address',target).empty().append($('<a href="#">Каталог</a>').data('type',type).data('id',id).click(function(){if($('.catalog_address a',target).size()>1){load_catalog(target,$(this).data('id'));}return false;}));xmlCat=get_cat_xml(target,id);if(xmlCat){draw_catalog_elements(target,xmlCat);return false;}}else if(!isNaN(parseInt(id))){params={'categoryId':id};xmlCat=get_cat_xml(target,id);if($('#c_bl_'+id,target).not($('.catalog_address a:last',target)).size()==1){$('#c_bl_'+id,target).nextAll().remove();}if(xmlCat){draw_catalog_elements(target,xmlCat);return false;}}else{messageDialog('Ошибка при загрузке каталога. Id категории: "'+id+'" не является числом.');return false;}$.ajax({type:"POST",url:url,data:(params),dataType:"xml",global:false,success:function(xmlCat){if($('code',xmlCat).size()!=0){messageDialog('Ошибка. Код: '+$('code',xmlCat).text()+' Сообщение: '+$('message',xmlCat).text());return false;}$('.catalog_address a:last',target).data('xmlCat',xmlCat);put_cat_xml(target,id,xmlCat);draw_catalog_elements(target,xmlCat);}});return false;};function get_cat_xml(target,id){if(!global_catalog_cache)return false;if(!$('.catalog',target).data(id)|| !id)return false;else return $('.catalog',target).data(id);};function put_cat_xml(target,id,xml){if(id&&xml&&target&&global_catalog_cache){$('.catalog',target).data(id,xml);return true;}else return false;};function catalog_img(this_id){var img=$('<img />');img.attr('src','images/favicon.ico');return "";};function draw_catalog_elements(target,xmlCat){$('.catalog_address a.rem_next',target).next().remove();$('.catalog_address a.rem_next',target).remove();if($('item',xmlCat).size()==0){if($('.catalog_address',target).data('new_href')){$('.catalog_address',target).append('<a class="rem_next"> >>> </a>').append($('.catalog_address',target).data('new_href')).removeData('new_href');}if($(target).parents('#search_catalog_box').size()!=0||$(target).is('#search_catalog_box')){redraw_catalog_search();$('#search_catalog_box').dialog('close');return false;}else if(target.data('send_search')){reset_search();$('.search_results').data('page',1);send_search({'categoryId':$('.catalog_address a:last',target).data('id')});}}else{if($('.catalog_address',target).data('new_href')){$('.catalog_address',target).append('<a> >>> </a>').append($('.catalog_address',target).data('new_href')).removeData('new_href');}$('.catalog_inner',target).fadeOut(200,function(){$(this).empty();if($('item',xmlCat).size()==0){$('.catalog_inner',target).html('<p>Каталог пуст</p>');}else{$('item',xmlCat).each(function(){var this_id=$('id:first',this).text();var this_name=$('name:first',this).text();$('<a href="#"></a>').append(this_name).data('id',this_id).data('name',this_name).click(function(){var new_href=$('<a href="#"></a>').data('id',$(this).data('id')).append($(this).data('name')).attr('id','c_bl_'+$(this).data('id')).click(function(){if($(this).not($('.catalog_address a:last',target)).size()!=0){load_catalog(target,$(this).data('id'));}return false;});$('.catalog_inner a',target).removeClass('clicked');$(this).addClass('clicked');$('.catalog_address',target).data('new_href',new_href);load_catalog(target,$(this).data('id'));return false;}).appendTo($('.catalog_inner',target));});}$('.catalog_inner',target).fadeIn(400);});}}
