function CorrectFrame()
{
	var newpos=frameleft-document.getElementById("carsgallery").scrollLeft;

	if(newpos>920||newpos<-92)document.getElementById("frame").style.display="none";
	else document.getElementById("frame").style.display="block";
	document.getElementById("frame").style.marginLeft=newpos;

	var rightdelta=newpos-777;
	var leftdelta=newpos-51;

	if(leftdelta<0)document.getElementById("frame").style.clip="rect(auto auto auto "+(leftdelta*-1+8)+")";
	else if(rightdelta>0)document.getElementById("frame").style.clip="rect(auto "+(155-rightdelta)+" auto auto)";
	else document.getElementById("frame").style.clip="rect(auto auto auto auto)";
}
function StartCarsScrollAnimation(begin, end)
{
	animation=true;
	var time=200, frms=Math.ceil(time/1000*fps), delta=(end-begin)/frms;
	for(var i=0, tmout=0; i<frms; i++, tmout+=1000/fps, begin+=delta)setTimeout('document.getElementById("carsgallery").scrollLeft='+begin+'; CorrectFrame();', tmout);
	setTimeout('animation=false; document.getElementById("carsgallery").scrollLeft='+end+'; CorrectFrame(); InstalCarsScrolls();', tmout);
}
function DoCarsScroll(direct)
{
	if(!animation)
	{
		var el=document.getElementById("carsgallery");
		var delt=144;
		StartCarsScrollAnimation(el.scrollLeft, el.scrollLeft+delt*direct);
	}	
}
function InstalCarsScrolls()
{
	var el=document.getElementById("carsgallery");

	if(el.scrollLeft)document.getElementById("carleft").style.visibility="visible";
	else document.getElementById("carleft").style.visibility="hidden";

	if(el.scrollWidth>el.offsetWidth&&(el.scrollLeft+el.offsetWidth!=el.scrollWidth))document.getElementById("carright").style.visibility="visible";
	else document.getElementById("carright").style.visibility="hidden";
}
function LeftCar()
{
	DoCarsScroll(-1);
}
function RightCar()
{
	DoCarsScroll(1);
}
function InstallCars(cars)
{
	var img, name, carstbl=document.getElementById("cars"), crow=carstbl.rows[0];

	for(var i=0; i<cars.length; i++)
	{
		name=cars[i][0];
		img=cars[i][1];
		url=cars[i][2];

		var td=document.createElement("TD");
		td.innerHTML='<a href="'+url+'"><div style="width:145px;"><img src="images/cars/'+img+'" alt="'+name+'"></div>'+name+'</a>';
		td.onmousemove=new Function('SetCar('+i+', true);');

		crow.appendChild(td);
	}
}
var animation=false;
var fps=100;
var time=500;
var frameleft=0;
var currentnum;
var anitime;
function StartAnimation(begin, end, url)
{
	animation=true;
	var frms=Math.ceil(time/1000*fps), delta=(end-begin)/frms;
	for(var i=0, tmout=0; i<frms; i++, tmout+=1000/fps, begin+=delta)setTimeout('frameleft='+begin+'; CorrectFrame();', tmout);
	setTimeout('frameleft='+end+'; animation=false; CorrectFrame();', tmout);
}
function SetCar(num, ani)
{
	if(animation)
	{
		clearTimeout(anitime);
		anitime=setTimeout('SetCar('+num+', '+(ani?'true':'false')+')', 50);
		return;
	}

	if(num!=currentnum)
	{
		var carstbl=document.getElementById("cars"), frame=document.getElementById("frame"), car=document.getElementById("car"), model=document.getElementById("model");
		if(!carstbl.offsetWidth)
		{
			setTimeout('SetCar('+num+', '+(ani?'true':'false')+')', 100);
			return;
		}

		currentnum=num;

		var delta=0;
		if(isIE)delta=53;

		var newposition=num*145+carstbl.offsetLeft-2+delta;


		var cell=carstbl.rows[0].cells[num];
		var link=cell.getElementsByTagName("A")[0].href;
		if(!ani)
		{
			frameleft=newposition;
			frame.style.display="block";
			CorrectFrame();
		}
		else if(!animation)
		{
			begin=frameleft;
			StartAnimation(begin, newposition, link);
		}
		frame.onclick=new Function("location.href='"+link+"'");


		if(isIE)car.filters[0].apply();
		car.innerHTML=cars[num][3];
		if(isIE)car.filters[0].play();
		model.innerHTML='<h1>'+cars[num][4]+'</h1>'+cars[num][5];
	}
}

function StartScrollAnimation(begin, end)
{
	animation=true;
	var time=200, frms=Math.ceil(time/1000*fps), delta=(end-begin)/frms;
	for(var i=0, tmout=0; i<frms; i++, tmout+=1000/fps, begin+=delta)setTimeout('document.getElementById("gallery").scrollLeft='+begin, tmout);
	setTimeout('animation=false; document.getElementById("gallery").scrollLeft='+end+'; InstallScrollBars();', tmout);
}
function DoScroll(direct)
{
	if(!animation)
	{
		var el=document.getElementById("gallery");
		var delt=169+9;
		StartScrollAnimation(el.scrollLeft, el.scrollLeft+delt*direct);
	}
}
function ScrollDown()
{
	DoScroll(1);
}
function ScrollUp()
{
	DoScroll(-1);
}
function InstallScrollBars()
{
	var el=document.getElementById("gallery");
	if(Defined(el))
	{
		if(el.scrollLeft)document.getElementById("scrollup").style.visibility="visible";
		else document.getElementById("scrollup").style.visibility="hidden";

		if(el.scrollWidth>el.offsetWidth&&(el.scrollLeft+el.offsetWidth!=el.scrollWidth))document.getElementById("scrolldown").style.visibility="visible";
		else document.getElementById("scrolldown").style.visibility="hidden";
	}
}
function Preload()
{
	if(!isIE)time=200;

	if(currentnum>5)
	{
		document.getElementById("carsgallery").scrollLeft=144*(currentnum-5);
		CorrectFrame();
	}


	InstalCarsScrolls();

	var pics=["images/cars/fabia.png", "images/cars/oktavia.png", "images/cars/oktavia_u.png", "images/cars/superb.png", "images/cars/roomster.png", "images/cars/fabia_new.png"];
	var cache=[];
	var image;
	for(var i=0; i<pics.length; i++)
	{
		image=new Image();
		image.src=baseURL+pics[i];
		cache[i]=image;
	}
}

var cor=document.getElementById("correction");
if(isIE)
{
	document.write('<style>div.substr { height:115px; } #car { position:absolute; FILTER: progid:DXImageTransform.Microsoft.Fade(Overlap=0.50); width:890px; height:320px; #car img {position:relative} } </style>');
}
if(isFirefox)
{
	cor.innerHTML='div.button img, div.button input {margin-top:-6px;}';
}
if(isOpera)
{
	cor.innerHTML='div.button img, div.button input {margin-top:-4px;}';
}
if(isSafari)
{
	document.write('<style>div.button img, div.button input {margin-top:-6px;} div.button a {padding-bottom:3px;}</style>');
}