


function CatalogShow() {

	if (!animateactive && !catalogfull) {

	    animateactive = true;
		StopAnime();

	    var h = defheight - $("#ctab01").height() + $("#ctab04td11").height();
        if ($("#lev3data > #lev2about:visible").length > 0)  h -= $("#lev3data .aboutlev2").outerHeight();	
		if (h < 1)  h = 0;

		$("#mycentertext").animate({ marginTop: 548 }, 500, 'linear', function() { 
					$("#picdo").hide();
					$("#tablbig22").css({ "overflow": "visible", "width": $("#tablbig22").width() });
					//alert($("#tablbig22").width());
					
					var left1 = $("#left1").html();
					$("#left1").empty();
					
					
					$("#left0").append(left1);
						
						
					$("#mycentertext").css('margin-top', 0); 
				}
		);
		
	    $("#overflow1").animate({height: h}, 500, 'linear', function() {  St02(); });

	} else if (!animateactive && catalogfull) {

			animateactive = true;
			
			var left0 = $("#left0").html();
			$("#left0").empty();

	
			$("#left1").append(left0);
			//$("#left0").empty();	
			$("#mycentertext").css('margin-top', 0);
		
		
		    $("#cata").css("width", 310);
		    $("#ctab01").css("height", "auto");
			$("#ctab02").css("margin-top", "0px");
			$("#ctab04td11").css("height", "auto");
			$("#ctab02td11").css("height", "auto");
			$("#overflow1").css("height", "auto");
			$("#overflow2").css("height", "auto");
			$("#overflow2").css("overflow", "hidden");
			$("#abouttext .about").css("height", "auto");
			$("#lev2about .aboutlev2").css("height", "auto");
	
			
			$(".lev2data").empty();
			if (mymethod == "nolev3") {
				
				for (var i=0; i<$("#lev2data > div").length; i++) 
					$(".lev2data").append('<div class="cont" style="cursor:pointer;" onmouseover="ButtonOver()" onmouseout="ButtonOut()" onClick="return ShortClickLev2(this, '+ $("#lev2data > div").eq(i).attr('id').substr(5) +');">'+ $("#lev2data > div").eq(i).html() +'</div>');			
			} else {
				$(".lev2data").append('<div class="cont selected" style="cursor:pointer;" onmouseover="ButtonOver()" onmouseout="ButtonOut()" onClick="return ShortClickLev1(this, selectedlev1);"></div>');			
				$(".lev2data > .selected").html($("#lev2data > .selected").html());
			} 
				
			$(".lev1data").empty();
			$(".lev1data").append('<div class="lev1cont selected" style="cursor:pointer;" onClick="return ShortClickLev1(this, selectedlev1);"></div>');
			$(".lev1data > .selected").html($("#lev1data > .selected").html());
			

	        $("#ctab01td01").show();
	        $("#ctab01td10").hide();	
	
	
	        $("#ctab03td10").css('padding-top', "0px");	
			$("#ctab03td00").hide();
			$("#ctab03td01").hide();
			$("#ctab03td10").hide();
			$("#ctab03td11").hide();
			
			$("#ctab03td11").show();
			
	        if (mymethod == 'nolev2') {
			
				$("#ctab04td00").width(0);
	        } else {
				
				$("#ctab03td01").show();
				$("#ctab04td00").width(282);
			}	
	
	        $("#ctab02td00").show();	
	        $("#ctab02td10").show();	
	        $("#ctab04td00").show();	
	        $("#ctab04td01").show();
	        $("#ctab04td11").css('border-top', "0px solid #950111");
	        $("#ctab04td10").show();		
			
		
		    $("#ctab02td00").width(310);
			
	        if (lang == "en")  $("#fc span").html("Expand catalogue");
	        else               $("#fc span").html("Развернуть&nbsp;каталог");
			
	        $("#picdo img").attr('src', '/img/catalog/catalog-arrow-2.gif');
            catalogfull = false;		
			
			if (mymethod == 'nolev2') 		ShowWrapLev3(myjson.lev1[selectedlev1], selectedlev1, false, true);
			else if (mymethod == 'full') 	ShowWrapLev3(myjson.lev2[selectedlev2], selectedlev2, false, true);
		
		
			$("#tablbig22").css({ "overflow": "visible", "width": "100%" });
			
			$(".arrowblock").css({ "background-image": "url(/img/str2.jpg)", "margin-left": 0, "padding-right": 0 });
			animateactive = false;
	}
}



	
function St02() {

	$("#tablbig22").css({ "overflow": "visible" });
	if (mymethod == 'nolev2') 		ShowWrapLev3(myjson.lev1[selectedlev1], selectedlev1, false, false);
	else if (mymethod == 'full') 	ShowWrapLev3(myjson.lev2[selectedlev2], selectedlev2, false, false);

	$("#abouttext .about").height($("#abouttext .about").height());
	$("#lev3data .aboutlev2").height($("#lev3data .aboutlev2").height());
	$("#tablbig22").animate({width: "100%"}, 590);
	$("#cata").animate({width: "100%"}, 600, St03);
}



function St03() {

	$("#ctab02").css( "margin-top", $("#ctab01td01").height() );
	$("#ctab02td00").width(0);
	
	$("#ctab01td01").hide();
	$("#ctab01td10").show();	
	
	if ($("#ctab03td01:visible").length > 0)  $("#ctab04").css( "margin-top", $("#ctab03td01:visible").height() );
	
	$("#ctab03td01").hide();
	if (mymethod != 'nolev2') $("#ctab03td10").show();
	
	
	$("#ctab02td00").hide();	
	$("#ctab02td10").hide();	
	$("#ctab04td00").hide();	
	$("#ctab04td01").hide();
	$("#ctab04td11").css('border-top', "1px solid #950111");
	$("#ctab04td10").hide();	
	
	
	if (mymethod != 'nolev2') 
		if (myjson.lev2[selectedlev1])  $("#ctab03td10 .lev2data").html(myjson.lev2[selectedlev1]);

	
	$("#lev2"+ selectedlev2).addClass('selected');
	$("#lev2"+ selectedlev2).show();	

	$("#ctab02").animate({marginTop:0}, animtime_short);
	$("#ctab04").animate({ marginTop:0 }, animtime_short);
	

	$("#lev3data .aboutlev2").animate({  height:$("#lev3data .aboutlev2 .sd1").height()  }, animtime_short);  	

    $("#ctab01td10").animate({ paddingTop: 15 }, animtime_short);
    $("#ctab01td11").animate({ paddingTop: 5 }, animtime_short);
    $("#ctab03td10").animate({ paddingTop: 5 }, animtime_short);
	

    /// show level2
	if (myjson.lev1[selectedlev1].lev2children && myjson.lev1[selectedlev1].lev2children.length > 0) {
	
	    ShowWrapLev2();
		if (selectedlev2) {
		    $("#lev2data #lev2_"+ selectedlev2).addClass('selected');
		    $("#lev2data #lev2_"+ selectedlev2).show();
		}
    }	
	
	
	
	if ($('#abouttext .about .lev1aboutcont').length > 0) 
        $("#abouttext .about").animate({ height: $('#abouttext .about .lev1aboutcont').outerHeight() }, animtime_short);
	
	
	var h = defheight - const_h2;
    if ($('#abouttext .about:visible .lev1aboutcont').length > 0)  h -=  $('#abouttext .about:visible .lev1aboutcont').outerHeight();	
	
	if ($("#lev3data .aboutlev2 .sd1").length > 0)  h -= 6 + $("#lev3data .aboutlev2 .sd1").height();	
    $("#overflow1").animate({ height: h }, animtime_long, function() { ShowProkr(); St04(); });

	
	if (lang == "en") $("#fc span").html("Collapse&nbsp;catologue");
	else              $("#fc span").html("Свернуть&nbsp;каталог");
	
	$("#picdo img").attr('src', '/img/catalog/catalog-arrow-1.gif');
	animateactive = false;
}




function St04() {
	$(".arrowblock").css({ "background-image": "url(/img/str2back.jpg)", "margin-left": -1, "padding-right": 1 });
	$("#lev1data > div").show();	
	
	$("#lev1data").addClass('full');
	$("#lev2data > div").show();	
	
	catalogfull = true;
	$("#picdo").show();
	StartAnime(4000, 2000);
}



function ShowProkr() {


	if ($('#overflow3').height() > $('#overflow1').height()) {
	
		$('#overflow2').css({ height: $('#overflow1').height() + 16, overflow: "scroll"});
		var offsettop = $("#lev3data .selected").offset().top - $("#overflow3").offset().top;
		
		if ((offsettop + 70) > $('#overflow1').height())  $('#overflow2').scrollTop(offsettop - $('#overflow1').height()/2 + $("#lev3data .selected").height()/2);
		
	} else {
	
	    $('#overflow2').css({ height: $('#overflow1').height() + 16, overflow: "hidden"});
	}
}



function myCheckSetHeight() {

	if ($('#abouttext .about .lev1aboutcont').length > 0) $("#abouttext .about").height( $('#abouttext .about .lev1aboutcont').outerHeight() );
	
	var h = defheight - const_h2;
	h -=  $("#lev3data .aboutlev2").outerHeight();		
	if ($('#abouttext .about:visible .lev1aboutcont').length > 0)  h -= $('#abouttext').outerHeight();
	
	$("#overflow1").height(h);
}













function ShowWrapLev2() {

    $("#lev2data").empty();

	if (myjson.lev1[selectedlev1].lev2children && myjson.lev1[selectedlev1].lev2children.length > 0) {

	    for (var num in  myjson.lev1[selectedlev1].lev2children) {  
		
		    var cuid = myjson.lev1[selectedlev1].lev2children[num];
		    $("#lev2data").append('<div class="cont" id="lev2_'+ cuid +'" style="display:none;" onClick="return ClickLev2(this, '+ cuid +');" onMouseOver="$(this).addClass(\'lev2over\');" onMouseOut="$(this).removeClass(\'lev2over\');">'+
				'<div class="sd1">'+
					'<div class="sd2">'+
						'<div class="text"><a href="#" onClick="return false;">'+ myjson.lev2[cuid].name +'</a></div>'+
					'</div>'+
				'</div>'+
			'</div>');		
	    }
		
		//$("#lev2data").append('<div class="close" style="display:none;"></div>');				
	}
}



function ShowWrapLev3(obj, duid, showfull, showshort) {

    $("#lev2about").empty();
	$("#overflow3").empty();
	
	
	if (obj.about) {
	    $("#lev2about").append('<div class="cont aboutlev2" onClick="document.location=\''+ lang +'/catalog/'+ duid +'\';" onMouseOver="$(this).addClass(\'lev3over\');" onMouseOut="$(this).removeClass(\'lev3over\');">'+
		            '<div class="sd1">'+
		                '<div class="sd2">'+
                            '<table cellspacing="0" cellpadding="0" width="100%">'+		
                            '<tr>'+					
				                '<td class="image"><a href="'+ lang +'/catalog/'+ duid +'"><img src="/img/catalog/devinfo.jpg" alt="" /></a></td>'+
				                '<td class="text">'+ obj.about +'</td>'+
				            '</tr>'+
				            '</table>'+
			            '</div>'+
		            '</div>'+
	            '</div>');
	}			


	if (obj.lev3children && obj.lev3children.length > 0) {
	
	    $("#lev3data").addClass('lev3datawhite');
		//;
		if (obj.lev3children.length < 4)  var showfull = true;

	    for (var num in  obj.lev3children) {  
		
		    var cuid = obj.lev3children[num];
			var data = myjson.lev3[cuid];
			
			
			var thumb = '/img/catalog/generic_product_icon.gif';
            if (data.thumb)	 var thumb = data.thumb;	

			var thumbwidth = 40;
            if (data.thumbwidth)	 var thumbwidth = data.thumbwidth;

			var thumbheight = 36;
            if (data.thumbheight)	 var thumbheight = data.thumbheight;			
			
			var indevelopment = '';
			if (data.indevelopment)	 var indevelopment = ' <img align="absmiddle" src="'+ catpics_dev3 +'" alt="" />';			
			
			var newprod = '';
			if (data.newprod)	 var newprod = ' <img align="absmiddle" src="'+ catpics_new3 +'" alt="" />';		

			var selclass = '';
			if (cuid == selectedlev3) var selclass = ' selected';
			
			
			if (data.type == 'sep') {
			
		        $("#overflow3").append('<div class="contsep"><center><table cellpadding="0" cellspacing="0"><tr><td>'+ data.name +'</td></tr></table></center></div>');				

			} else if ((showfull || data.showabout) && data.about && !showshort) {
			
		        $("#overflow3").append('<div class="cont'+ selclass +'" onClick="document.location=\''+ lang +'/catalog/'+ cuid +'\';" onMouseOver="$(this).addClass(\'lev3over\');" onMouseOut="$(this).removeClass(\'lev3over\');">'+
		        '<div class="sd1">'+
		            '<div class="sd2">'+
                        '<table cellspacing="0" cellpadding="0" width="100%">'+		
                        '<tr>'+					
				            '<td class="imagetop"><a href="'+ lang +'/catalog/'+ cuid +'"><img src="'+ thumb +'" width="'+ thumbwidth +'" height="'+ thumbheight +'" alt="" /></a></td>'+
				            '<td class="text">'+
								'<div class="texthead"><a href="'+ lang +'/catalog/'+ cuid +'">'+ data.name +'</a>'+ newprod + indevelopment +'</div>'+
								'<div class="textabout">'+ data.about +'</div>'+
							'</td>'+
				        '</tr>'+
				        '</table>'+
			        '</div>'+
		        '</div>'+
	            '</div>');		
				
            } else {	
			
		        $("#overflow3").append('<div class="cont'+ selclass +'" onClick="document.location=\''+ lang +'/catalog/'+ cuid +'\';" onMouseOver="$(this).addClass(\'lev3over\');" onMouseOut="$(this).removeClass(\'lev3over\');">'+
		        '<div class="sd1">'+
		            '<div class="sd2">'+
                        '<table cellspacing="0" cellpadding="0" width="100%">'+		
                        '<tr>'+					
				            '<td class="image"><a href="'+ lang +'/catalog/'+ cuid +'"><img src="'+ thumb +'" width="'+ thumbwidth +'" height="'+ thumbheight +'" alt="" /></a></td>'+
				            '<td class="text">'+
								'<div class="texthead"><a href="'+ lang +'/catalog/'+ cuid +'">'+ data.name +'</a>'+ newprod + indevelopment +'</div>'+
							'</td>'+
				        '</tr>'+
				        '</table>'+
			        '</div>'+
		        '</div>'+
	            '</div>');			
            }	
	    }		
	}
}



function ShowWrapLev1About() {

	$("#abouttext .about").html('<div class="lev1aboutcont" onClick="document.location=\'/catalog/'+ selectedlev1 +'\';" onMouseOver="$(this).addClass(\'lev2over\');" onMouseOut="$(this).removeClass(\'lev2over\');">'+
		'<div class="sd1">'+
		    '<div class="sd2">'+ myjson.lev1[selectedlev1].about +'</div>'+
		'</div>'+
	'</div>');
}


















function ClickLev1(obj, cuid) {

    selectedlev1 = cuid;
    var checklev2 = false;
	
    if (myjson.lev1[selectedlev1].lev2children && myjson.lev1[selectedlev1].lev2children.length > 0) {
	    
	    if (selectedlev2) 
	        for (var num in  myjson.lev1[selectedlev1].lev2children) 
		        if (myjson.lev1[selectedlev1].lev2children[num] == selectedlev2)  checklev2 = true;
		
		if (!checklev2)  selectedlev2 = myjson.lev1[selectedlev1].lev2children[0];
		mymethod = 'full';
	
    } else if (myjson.lev1[selectedlev1].lev3children && myjson.lev1[selectedlev1].lev3children.length > 0) {
         
	    selectedlev2 = null;
	    mymethod = 'nolev2';
    } 
	
	selectedlev3 = null;
	
	
    $("#lev1data > .selected").removeClass('selected');
    $("#lev1data > #lev1_"+ cuid).addClass('selected');
	
	
	if (selectedlev2 && !checklev2) {
	    ShowWrapLev2();
		ShowWrapLev3(myjson.lev2[selectedlev2], selectedlev2, false);
		
	    $("#lev2data > div").fadeIn(400);
	    if (selectedlev2) $("#lev2data #lev2_"+ selectedlev2).addClass('selected');	
		
	    $("#ctab03td10").show();
	    $("#ctab03td10 .lev2data").html(myjson.lev2[selectedlev1]);			
		
		ShowHideLev1About();
		myCheckSetHeight();
		ShowProkr();
		
	} else if (mymethod == 'nolev2') {
	
	    ShowWrapLev3(myjson.lev1[selectedlev1], selectedlev1, false);
	    ShowHideLev1About(true);
	
	    $("#ctab03td10").hide();
		
		myCheckSetHeight();
		ShowProkr();
	}
	
	return false;
}



function ShowHideLev1About(noshow) {

	var newheight = 0;
		
	$("#abouttext .about").empty();
	
	if (!noshow && myjson.lev1[selectedlev1].about) {
	        
        $("#abouttext .about").show();
	    ShowWrapLev1About();
			
		var newheight = $("#abouttext .about .lev1aboutcont").height() + parseInt($('#abouttext .about .lev1aboutcont').css("padding-top")) + parseInt($('#abouttext .about .lev1aboutcont').css("padding-bottom"));
		$("#abouttext .about").height(newheight);
			
	} else {
			
		$("#abouttext .about").empty();
        $("#abouttext .about").hide();
	}	
}



function ClickLev2(obj, cuid) {

    selectedlev2 = cuid;
	mymethod = 'full';
	$("#abouttext .selected").removeClass('selected');	
	
    $("#lev2data > .selected").removeClass('selected');
    $("#lev2data > #lev2_"+ cuid).addClass('selected');
	
	ShowWrapLev3(myjson.lev2[selectedlev2], selectedlev2, false);
	myCheckSetHeight();
	ShowProkr();
	
	return false;
}





function ShortClickLev1(obj, cuid) {

	CatalogShow();
	
	return false;
}



function ShortClickLev2(obj, cuid) {

    $(obj).addClass('selected');
	selectedlev2 = cuid;
	selectedlev3 = null;
	mymethod = 'full';

	$("#abouttext .selected").removeClass('selected');	
	CatalogShow();
	
	ShowWrapLev3(myjson.lev2[selectedlev2], selectedlev2, false);
	
	return false;
}






function getCurrentAnchor(str) {
			
	if (!str) str = document.location.href;
		
	if (str.indexOf('#') != -1) {
		str = str.substr(str.indexOf('#')+1);
		return str;
	}
			
	return false;
}

