var bWopen = false;
var nWindow = 0;
var bFl = false;

$(function () {

    $('a.bModel').click(function () {
if (bFl) return;
    if(nWindow != $(this).attr('id')){
            $('a.bModel').css('color', '#ffffff');
            $(this).css('color', '#f99239');
            $.post('/catalog/menu.html', {id: $(this).attr("id")}, function (data) {
                $('div.vModelsLayout').slideDown("normal", function () {$('div.vModels').html(data); $('div.vModels').show();});
            });
            nWindow = $(this).attr('id');
            return false;
        } else {
            $(this).css('color', '#ffffff');
            $('div.vModels').hide();
            $('div.vModelsLayout').slideUp();
            nWindow = 0;
        }
    });
})

function fixed(e, pos)
{	
	//pos = parseInt((screen.height - e.offsetHeight) / 2);
    if (/MSIE ([\d\.]+).+Win/.test(navigator.userAgent))
    {
        e.style.position = 'absolute';
        var top = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
        return (top + pos) + 'px';
    }
    else e.style.top = pos + 'px';
}


function moveSlider(id, course, targ)
{
	var phpScript = "/usr/extensions/ajax/slider.php";
	var slider = $('#'+id);
	var buffer = document.getElementById(id+'_buffer');
	if(buffer)
	{
		var bufferUse = (buffer.title!='not_use');
	}
	else
	{
		var bufferUse = true;
	}
		
	if(slider.attr('moving')==1) return;
	slider.attr('moving', 1);
	
	var items = $('#'+id+' > div.item');
	
	var step;
	if(course=='up')
	{
		step = -items[0].offsetHeight;
	}
	if(course=='down')
	{
		step = items[0].offsetHeight;
	}
	if(course=='left')
	{
		step = -items[0].offsetWidth;
	}
	if(course=='right')
	{
		step = items[0].offsetWidth;
	}
	
	if(course=='up' || course=='down')
	{
		var attr = 'marginTop';
		var shift = parseInt(slider.css(attr));
		var showLength = slider[0].parentNode.offsetHeight;
	}
	if(course=='left' || course=='right')
	{
		var attr = 'marginLeft';
		var shift = parseInt(slider.css(attr));
		var showLength = slider[0].parentNode.offsetWidth;
	}
	
	if(!shift) shift = 0;
	var newShift = shift + step;
	var absStep = Math.abs(step);
	
	if(buffer)
	{
		showLength += 30;
		if(slider.attr('loading')!=1)
		{
			if((step > 0 && newShift > 0) || (step < 0 && (items.length*absStep+newShift+absStep) < showLength))
			{
				targ.className = targ.className + ' inactive';
				slider.attr('moving', 0);
				return false;
			}
			
			if(bufferUse)
			{
				if(step > 0 && Math.abs(newShift) < 3*absStep)
				{
					slider.attr('loading', 1);
					var cnt = parseInt(items[0].getAttribute('title'));
					$.post(phpScript, { limit: (cnt-6)+",5"},
					  function(data){
						if(data.length > 0)
						{
							if(slider.attr('moving')==1)
							{
								buffer.innerHTML = data;
								buffer.setAttribute('pos', 'begin');
							}
							else
							{
								slider[0].innerHTML = buffer.innerHTML + slider[0].innerHTML;
								slider.css(attr, newShift - step*5);
							}					
							targ.className = targ.className.replace('inactive', '');
						}
						slider.attr('loading', 0);
					  });
				}

				if(newShift < 0 && ((items.length*absStep+newShift) < showLength+3*absStep))
				{
					slider.attr('loading', 1);
					var cnt = parseInt(items[items.length-1].getAttribute('title'));
					$.post(phpScript, { limit: cnt+",5"},
					  function(data){
						if(data.length > 0)
						{
							if(slider.attr('moving')==1)
							{
								buffer.innerHTML = data;
								buffer.setAttribute('pos', 'end');
							}
							else
							{
								slider[0].innerHTML = slider[0].innerHTML + buffer.innerHTML;
							}					
							targ.className = targ.className.replace('inactive', '');
						}
						slider.attr('loading', 0);
					  });
				}
			}
		}
		else
		{
			return false;
		}
	}
	else if(bufferUse)
	{
		if(newShift > 0)
		{
			$('#'+id+' > div.item:last').remove().insertBefore('#'+id+' > div.item:first');
			newShift = shift;
			slider.css(attr, shift - step);
		}
		
		if(newShift < 0 && ((items.length*absStep+newShift) < showLength))
		{
			$('#'+id+' > div.item:first').remove().insertAfter('#'+id+' > div.item:last');
			newShift = shift;
			slider.css(attr, shift - step);
		}
	}
	
	if(course=='up' || course=='down')
	{
		var settings = {
					'marginTop': newShift
					};
	}
	if(course=='left' || course=='right')
	{
		var settings = {
					'marginLeft': newShift
					};
	}
	
	var parent = targ.parentNode;
	var child = parent.childNodes;
	for(var i=0; i<child.length; i++)
	{
		if(child[i].tagName=='A' && child[i].className.indexOf(course+'_btn')>-1)
		{
			child[i].className = child[i].className.replace(/\s*inactive/g, '');
		}
	}

	slider.animate(settings, "easein", function(){
													slider.attr('moving', 0);
													
													if(buffer && ((step > 0 && newShift+absStep > 0) || (step < 0 && (items.length*absStep+newShift) < showLength)))
													{
														targ.className = targ.className + ' inactive';
													}
													
													if(buffer && buffer.innerHTML.length > 0)
													{
														if(buffer.getAttribute('pos')=='begin')
														{
															slider[0].innerHTML = buffer.innerHTML + slider[0].innerHTML;
															slider.css(attr, newShift - step*5);
														}
														else
														{
															slider[0].innerHTML = slider[0].innerHTML + buffer.innerHTML;
														}
														buffer.innerHTML = '';
														targ.className = targ.className.replace('inactive', '');
													}
													
													if(step < 0 && newShift < step*10)
													{
														$('#'+id+' > div.item:first').remove();
														slider.css(attr, newShift - step);
													}
													if(step > 0 && ((items.length*absStep+newShift) > showLength+10*absStep))
													{
														$('#'+id+' > div.item:last').remove();
													}
												});
}
