// Функция дампа массива (для отладки)
function Dump(d,l) {
    if (l == null) l = 1;
    var s = '';
    if (typeof(d) == "object") {
        s += typeof(d) + " {\n";
        for (var k in d) {
            for (var i=0; i<l; i++) s += "  ";
            s += k+": " + Dump(d[k],l+1);
        }
        for (var i=0; i<l-1; i++) s += "  ";
        s += "}\n"
    } else {
        s += "" + d + "\n";
    }
    return s;
}


// функция показа/скрытия блоков
function switchBlock(id){
	var block = document.getElementById(id);
	block.style.display = (block.style.display != 'none' ? 'none' : 'block');
	return false;
}

// Функция показа/скрытия блоков (расширенная)
function showFullText(id){
	var div1 = document.getElementById('block1_'+id);
	var div2 = document.getElementById('block2_'+id);
	div1.style.display = (div1.style.display != 'none' ? 'none' : 'block');
	div2.style.display = (div1.style.display != 'none' ? 'none' : 'block');
	return false;
}

/* Функции показа сообщений */
function hideMessage() {
    with (document.getElementById("message")) {
        innerHTML = "";
        style.visibility = "hidden";
    }
}
function createMessage(text, time_to_show, color) {
    with (document.getElementById("message")) {
        style.visibility = "visible";
        innerHTML = text;
        if (color) style.color = color;
    }
    if (time_to_show > 0) {
        setTimeout("hideMessage()", time_to_show*1000);
    }
}

window.onscroll = setMessageTop;
function setMessageTop() {
	var m = document.getElementById("message");
	var point = document.getElementById("html");
	if (m) {
		m.style.top = (point.scrollTop + 250) + 'px';
	}
}

// Определение координат элемента на странице и его размеров
function getBounds(element){
  var left = element.offsetLeft;
  var top = element.offsetTop;
  for (var parent = element.offsetParent; parent; parent = parent.offsetParent){
    left += parent.offsetLeft - parent.scrollLeft;
    top += parent.offsetTop - parent.scrollTop
  }
  return {left: left, top: top, width: element.offsetWidth, height: element.offsetHeight};
}

function windowSize() {
	var width, height;
	// общий синтаксис
	if (self.innerHeight) {
		width = self.innerWidth;
		height = self.innerHeight;
	// IE 6 Strict Mode
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
		width = document.documentElement.clientWidth;
		height = document.documentElement.clientHeight;
	// Остальные версии IE
	}
	else if (document.body) {
		width = document.body.clientWidth;
		height = document.body.clientHeight;
	}
	return {width: width, height: height};
}


// *** Отображение галереи *****************************************************
function showGallery(imgID){
	if(!imgID) imgID = 0;

	var galBox = document.getElementById('carGallery');

	if(galBox){
		// выводим навигацию
		showNavigation(imgID);
		// выводим фотографию
		showPicture(imgID);
		//показываем галерею
		galBox.style.display = "block";

		// устанавливаем новый размер блока с фотографией
		var bSize = carImages[imgID]["bigWidth"]; bSize -= 0;
		if (bSize < (picCount+3)*20) bSize = (picCount+3)*20;
		document.getElementById('borderBox').style.width = bSize+'px';

	}

	var wSize = windowSize();
	var imgHeight = carImages[imgID]["bigHeight"];
	if(wSize.height < (imgHeight+400)){
		var yScroll = imgHeight-0;
		yScroll = yScroll + 470 - wSize.height;
		if (yScroll > 400) yScroll=400;
		//alert(wSize.width+'x'+wSize.height+' '+yScroll);
		scroll(0, yScroll);
	}
	return false;
}

// *** Показ большой картинки в соответствубщем контейнере
function showPicture(imgID){
	var picBox = document.getElementById('bigPicture');
	//формируем HTML-код большой фотографии
	var imageContent = '<img src="'+carImages[imgID]["bigPath"]+
		'" id="picture"'+
		'" width="'+carImages[imgID]["bigWidth"]+
		'" height="'+carImages[imgID]["bigHeight"]+
		'" title="закрыть"'+
		' onClick="return closeGallery()" />';
	//выводим
	picBox.innerHTML = imageContent;
}

// *** Пролистывание фотографий
function switchPicture(imgID){

	showNavigation(imgID);
	var picture = document.getElementById('picture');
	picture.src = '/_/0.gif';
	picture.width = carImages[imgID]["bigWidth"];
	picture.height = carImages[imgID]["bigHeight"];
	picture.src = carImages[imgID]["bigPath"];

	// перещитываем и устанавливаем новый размер блока с фотографией
	var bSize = carImages[imgID]["bigWidth"]; bSize -= 0;
	if (bSize < (picCount+3)*20 + 40) bSize = (picCount+3)*20 + 40;
	document.getElementById('borderBox').style.width = bSize+'px';

	return false;
}

// *** Показ блока навигации
function showNavigation(imgID){
	var navBox = document.getElementById('navigation');

	// Строим навигацию - если есть для чего строить
	if(picCount > 0){
		// определяемся с пред./след. фотографией
		if(imgID == picCount) {
			var nextImg = 0;
			var prevImg = imgID-1;
		}
		else if(imgID == 0) {
			var nextImg = imgID+1;
			var prevImg = picCount;
		}
		else {
			var nextImg = imgID+1;
			var prevImg = imgID-1;
		}

		//формируем HTML-код нафигации
		var navContent = '<table class="layout"><tr><td align="center"><div class="prev" onClick="switchPicture('+prevImg+')"></div>';
		for(k in carImages){
			if(k == 0 ) navContent += '<div class="cell first" id="cell'+k+'">';
			else navContent += '<div class="cell" id="cell'+k+'">';

			if(k == imgID) navContent += '<span>'+k+'</span>'
			else navContent += '<a href="#" onClick="return switchPicture('+k+');"'+
			' onMouseOver="showPreview('+k+')" onMouseOut="hidePreview()">'+k+'</a>'

			navContent += '</div>';
		}
		navContent += '</div><div class="next" onClick="switchPicture('+nextImg+')"></div></td></tr></table>';
		navContent += '<div id="previewBox" class="shadow120x90"><img id="previewImg" src="/_/0.gif" /></div>';
	}
	else {
		var navContent = '<img src="/_/0.gif" width="1" height="17" alt="" />';
	}
	//выводим
	navBox.innerHTML = navContent;

}

function showPreview(imgID){
	var preview = document.getElementById('previewImg');
	var previewBox = document.getElementById('previewBox');
	var cell = document.getElementById('cell'+imgID);
	var place = getBounds(cell);

	preview.src = '/_/0.gif';
	preview.src = carImages[imgID]["prevPath"];
	previewBox.style.left = (place.left-60)+'px';
	previewBox.style.visibility = "visible";
}

function hidePreview(){
	var previewBox = document.getElementById('previewBox');
	previewBox.style.visibility = "hidden";
}


//** Закрытие галереи
function closeGallery() {
	var galBox = document.getElementById('carGallery');
	var picBox = document.getElementById('bigPicture');
	var navBox = document.getElementById('navigation');
	galBox.style.display = "none";
	picBox.innerHTML = navBox.innerHTML = '';
}
// *** Отображение галереи *****************************************************
