function addEvent(in_Event, in_Element, in_Function)
{
	if(in_Element.addEventListener)
	{
		in_Element.addEventListener(in_Event, in_Function, false);
	}
	else if(in_Element.attachEvent)
	{
		f = function() {
			in_Function.call(in_Element);
		}
		in_Element.attachEvent('on'+in_Event, f);
	}
	else
	{
		if(in_Element['on'+in_Event])
		{
			var old = in_Element['on'+in_Event];
			in_Element['on'+in_Event] = function() {
				old();
				in_Function();
			}
		}
		else
		{
			in_Element['on'+in_Event] = in_Function;
		}
	}
}

function menuCarShowPhoto(event) {

	var c = 0;
	var p = this.parentNode.previousSibling;
	while(p)
	{
		p = p.previousSibling;
		++c;
	}
	
	var menuCars = document.getElementById('menuCarsMin');
	menuCars.currentImg = c;
	
	var span = menuCars.getElementsByTagName('span')[0];
	var img = span.firstChild.cloneNode(true)
	var p = span.parentNode;
	var a = document.createElement('a');
	a.appendChild(img);
	addEvent('click', a, menuCarShowPhoto);
	a.href="#Big";
	p.removeChild(span);
	p.appendChild(a);
	
	var carPhoto = document.getElementById('CarPhotoImg');
	
	var menuCars1 = document.getElementById('menuCars');
	menuCars1.info.style.visibility = 'visible';
	addEvent('load', carPhoto, function() {
			menuCars1.info.style.visibility = 'hidden';
		});
	
	var src = new String(this.firstChild.getAttribute('src'));
	var newSrc = src.replace('min=4', 'min=5');
	carPhoto.setAttribute('src', newSrc);
	img = this.firstChild.cloneNode(true);
	span = document.createElement('span');
	p = this.parentNode;
	p.removeChild(this);
	p.appendChild(span);
	span.appendChild(img);
	
	return false;
}

function MenuCarsMoveStop() {
	var menuCarsMin = document.getElementById('menuCarsMin');
	menuCarsMin.stop = 1;
}

function MenuCarsMoveLeft() {
	var menuCarsMin = document.getElementById('menuCarsMin');
	menuCarsMin.stop = 0;
	
	if(!menuCarsMin.minLeft)
	{
		menuCarsMin.minLeft = 0;
	}
	
	var imgs = menuCarsMin.getElementsByTagName('img');
	if(menuCarsMin.minLeft*-1 <= imgs.length * menuCarsMin.minWidth - menuCarsMin.minWidth * (menuCarsMin.minNumber+1))
	{
		menuCarsMin.minLeft = menuCarsMin.minLeft - menuCarsMin.minWidth;
	
		if(menuCarsMin.move)
		{
			menuCarsMin.move = clearInterval(menuCarsMin.move);
		}
		
		menuCarsMin.move = setInterval(function() {
			var menuCarsMin = document.getElementById('menuCarsMin');
			var l = menuCarsMin.style.marginLeft;
			l = new Number(menuCarsMin.style.marginLeft.replace('px', ''));
			l = l - menuCarsMin.minStep;
			
			if(l < menuCarsMin.minLeft)
			{
				menuCarsMin.move = clearInterval(menuCarsMin.move);
				menuCarsMin.style.marginLeft =  menuCarsMin.minLeft + 'px';
				if(menuCarsMin.stop == 0)
				{
					MenuCarsMoveLeft();
				}
			}
			else
			{
				menuCarsMin.style.marginLeft = l + 'px';
			}
		},
		40);
	}
}

function MenuCarsMoveRight() {
	
	var menuCarsMin = document.getElementById('menuCarsMin');
	menuCarsMin.stop = 0;
	//menuCarsMin.minLeft = menuCarsMin.style.left.replace('px', '');
	if(!menuCarsMin.minLeft)
	{
		menuCarsMin.minLeft = 0;
	}
	
				
	if(menuCarsMin.minLeft < 0)
	{
		
		menuCarsMin.minLeft = menuCarsMin.minLeft + menuCarsMin.minWidth;
		if(menuCarsMin.minLeft >= 0)
		{
			menuCarsMin.minLeft = 0;

		}
		

		if(menuCarsMin.move)
		{
			menuCarsMin.move = clearInterval(menuCarsMin.move);
		}
		
		menuCarsMin.move = setInterval(function() {
			var menuCarsMin = document.getElementById('menuCarsMin');
			var l = menuCarsMin.style.marginLeft;
			l = new Number(menuCarsMin.style.marginLeft.replace('px', ''));
			l = l + menuCarsMin.minStep;
			
			if(l > menuCarsMin.minLeft)
			{
				menuCarsMin.move = clearInterval(menuCarsMin.move);
				menuCarsMin.style.marginLeft = menuCarsMin.minLeft + 'px';
				if(menuCarsMin.stop != 1)
				{
					MenuCarsMoveRight();
				}
			}
			else
			{
				menuCarsMin.style.marginLeft = l + 'px';
			}
		},
		40);
	}
}

function CarsNextPhoto() {
	var menuCarsMin = document.getElementById('menuCarsMin');
	var li = menuCarsMin.getElementsByTagName('li');
	
	if(li[menuCarsMin.currentImg+1])
	{
		++menuCarsMin.currentImg;
		menuCarShowPhoto.call(li[menuCarsMin.currentImg].firstChild, null);
		MenuCarsMoveLeft();
		MenuCarsMoveStop();
	}
}

function CarsPrevPhoto() {
	var menuCarsMin = document.getElementById('menuCarsMin');
	var li = menuCarsMin.getElementsByTagName('li');
	
	if(menuCarsMin.currentImg > 0)
	{
		--menuCarsMin.currentImg;
		menuCarShowPhoto.call(li[menuCarsMin.currentImg].firstChild, null);
		MenuCarsMoveRight();
		MenuCarsMoveStop();
	}
}

function menuCarShowDefaultTitle() {
	var menuCars = document.getElementById('menuCars');
	menuCars.titleBox.removeChild(menuCars.titleBox.firstChild);
	menuCars.titleBox.appendChild(document.createTextNode('Wybierz auto:'));
}

function menuCarShowTitle() {
	var menuCars = document.getElementById('menuCars');
	menuCars.titleBox.removeChild(menuCars.titleBox.firstChild);
	menuCars.titleBox.appendChild(document.createTextNode(this.firstChild.getAttribute('title')));
}


function startMenuCars() {
	var menuCars = document.getElementById('menuCars');
	var menuCarsMin = document.getElementById('menuCarsMin');
	menuCarsMin.minWidth = 130;
	menuCarsMin.minNumber = 5;
	menuCarsMin.minStep = 10;
	menuCarsMin.currentImg = 0;
	
	//menuCarsMin.style.position = 'relative';
	
	var isPhoto = false;
	
	var a = menuCarsMin.getElementsByTagName('a');
	var span = menuCarsMin.getElementsByTagName('span');
	
	if(span.length != 0)
	{
		isPhoto = true;
	}
	
	for(var i =0; i < a.length; ++i)
	{
		if(a[i].href.indexOf('photo') != -1)
		{
			addEvent('click', a[i], menuCarShowPhoto);
			a[i].href="#Big";
		}
		else
		{
			addEvent('mouseover', a[i], menuCarShowTitle);
			addEvent('mouseout', a[i], menuCarShowDefaultTitle);
		}
	}
	
	menuCars.style.overflow='hidden';
	
	var l = document.createElement('div');
	
	l.setAttribute('id', 'menuLeftArrow');
	addEvent('mouseover', l, MenuCarsMoveRight);
	addEvent('mouseout', l, MenuCarsMoveStop);
	
	var r = document.createElement('div');
	r.setAttribute('id', 'menuRightArrow');
	addEvent('mouseover', r, MenuCarsMoveLeft);
	addEvent('mouseout', r, MenuCarsMoveStop);
	
	var nav = document.createElement('div');
	nav.setAttribute('id', 'menuCarsNavigator');
	nav.appendChild(l);
	nav.appendChild(r);
	
	
	var p = document.createElement('div');
	p.setAttribute('id', 'menuCarsPrev');
	var s1 = document.createElement('span');
	s1.setAttribute('id', 'menuCarsPrevArrow');
	p.appendChild(s1);
	addEvent('click', p, CarsPrevPhoto);
	nav.appendChild(p);
	
	var n = document.createElement('div');
	n.setAttribute('id', 'menuCarsNext');
	var s1 = document.createElement('span');
	s1.setAttribute('id', 'menuCarsNextArrow');
	n.appendChild(s1);
	addEvent('click', n, CarsNextPhoto);
	nav.appendChild(n);
	
	menuCars.info = document.createElement('span');
	menuCars.info.setAttribute('id', 'MenuCarsInfo');
	menuCars.info.appendChild(document.createTextNode('Pobieranie zdjęcia. Proszę czekać...'));
	
	menuCars.titleBox = document.createElement('div');
	menuCars.titleBox.setAttribute('id', 'MenuCarsTitle');
	
	if(isPhoto)
	{
		var a = document.createElement('a');
		a.setAttribute('href', '?category=5');
		a.appendChild(document.createTextNode('Wróć do listy...'));
		menuCars.titleBox.appendChild(a);
	}
	else
	{
		menuCars.titleBox.appendChild(document.createTextNode('Wybierz auto:'));
	}
	
	if(menuCars.nextSibling)
	{
		menuCars.parentNode.insertBefore(l, menuCars.nextSibling);
		menuCars.parentNode.insertBefore(r, menuCars.nextSibling);
		menuCars.parentNode.insertBefore(menuCars.titleBox, menuCars.nextSibling);
		if(isPhoto)
		{
			menuCars.parentNode.insertBefore(nav, menuCars.nextSibling);
			menuCars.parentNode.insertBefore(menuCars.info, menuCars.nextSibling);
		}
	}
	else
	{
		menuCars.parentNode.appendChild(l);
		menuCars.parentNode.appendChild(r);
		menuCars.parentNode.appendChild(menuCars.titleBox);
		if(isPhoto)
		{
			menuCars.parentNode.appendChild(nav);
			menuCars.parentNode.appendChild(menuCars.info);
		}
	}
}

addEvent('load', window, function() {
	startMenuCars();
});

