/**
 * Создание интерактивного описания в автомобиле.
 */
var cars_desc_prepare = function(elem) {
	var render_top = function(h, p) {
		return '<div style="float: left; width: 220px;"><h2>' + h.html() + '</h2><p>' + p.html() +'</p><\/div>';
	}

	var render_menu = function(elem) {
		var temp = '';
		var html = '';
		if(elem.length > 0) {
			html += '<ul>';
			var l = elem.children('li');
			if(l.length > 0) {
				temp = l.children('h4');
				html += '<li><a href="#" class="current">' + temp.html() + '</a></li>';
				l = l.next('li');
				while(l.length > 0) {
					temp = l.children('h4');
					html += '<li><a href="#">' + temp.html() + '</a></li>';
					l = l.next('li');
				}
			}
			html += '</ul>';
		}
		return html;
	}

	var render_image = function(elem) {
		elem.find('h4').detach();
		elem.children('img').each(function() {
			var src = $(this).attr('src');
			var alt = $(this).attr('alt');
			$(this).replaceWith('\
<div class="photo_bord_description">\
	<div class="img_description"></div>\
	<img alt="' + alt + '" class="pad" src="' + src + '"/>\
</div>');
		});
		return elem;
	}

	var render_block = function(elem) {
		var html = '';

		var h = elem.children('h3:first');
		var u = h.next('ul');
		if(u.length > 0) {
			html = html + '<p class="desc_cap">' + h.html() + '</p>';
			html = html + render_menu(u);
			html = html + '<div class="desc_bloc_top"></div>';

			var l = u.children('li');
			var f = 'style="display:block;"';
			while(l.length > 0) {
				var next = l.next('li');
				l = render_image(l);

				html += '<div class="desc_bloc" ' + f + '>';
				html += l.html();
				html += '</div>';

				f = '';
				l = next;
			}

			html = html + '<div class="desc_bloc_bot"></div>';
			html = html + '<div style="clear: both;"></div>';
		}

		html = '<div class="description">' + html + '</div>';

		return html;
	}

	var render = function(elem) {
		elem = $(elem);

		if(!elem.hasClass('ready')) {
			elem.addClass('ready');

			var html = '';

			var h = elem.children('h2');
			var p = h.next('p');
			html = html + render_top(h, p);

			var u = p.next('ul');
			var l = u.children('li');
			while(l.length > 0) {
				html = html + render_block(l);
				l = l.next('li');
			}

			html = html + '<div style="clear: both;"></div>';
			elem.html(html);
		}
	}

	$(elem).each(function() {
		render(this);
	});
}

/**
 * splash-окно
 */
var def_splash_show_before = false;
var def_splash_hide_before = false;

var def_splash_init = function() {
	$('#splash_place').unbind('click').click(function() {
		def_splash_hide();
	});
	$('#splash_panel').unbind('click').click(function() {
		def_splash_hide();
	});
	$(window).keypress(function(event) {
		if (event.keyCode == 27) {
			def_splash_hide();
		}
	});
}

var def_splash_show = function(fn_show, fn_hide) {
	if ($.isFunction(fn_show)) {
		def_splash_show_before = fn_show;
	} else if (fn_show == false) {
		def_splash_show_before = false;
	}

	if ($.isFunction(fn_hide)) {
		def_splash_hide_before = fn_hide;
	} else if (fn_hide == false) {
		def_splash_hide_before = false;
	}

	if ($.isFunction(def_splash_show_before)) {
		def_splash_show_before();
	}

	$('#splash_place').show();
	$('#splash_panel').show();
	var temp_w = $('#splash_panel').width();
	var temp_h = $('#splash_panel').height();
	$('#splash_panel').css({'margin-left': - parseInt(temp_w/2) + 'px', 'margin-top': - parseInt(temp_h/2) + 'px'});
}

var def_splash_hide = function(fn_hide) {
	if ($.isFunction(fn_hide)) {
		def_splash_hide_before = fn_hide;
	} else if (fn_hide == false) {
		def_splash_hide_before = false;
	}

	if ($.isFunction(def_splash_hide_before)) {
		def_splash_hide_before();
	}

	$('#splash_place').hide();
	$('#splash_panel').hide();
}

var def_splash_get = function() {
	return $('#splash_panel');
}

/**
 * Старт системы
 */
$(document).ready(function() {
	// инициализация splash-окна
	def_splash_init();

	// инициализация wborder-изображений
	$('.wborder').each(function() {
		var src = $(this).attr('src');
		var alt = $(this).attr('alt');
		$(this).replaceWith(
'<table summary="" class="iborder" cellpadding="0" cellspacing="0"><tbody><tr><td class="iborder1"><div style="width:9px;"></div></td><td class="iborder2"></td><td class="iborder3"><div style="width:9px;"></div></td></tr>\
<tr><td class="iborder4"></td><td class="iborder5"><img src="' + src + '" alt="' + alt + '"/></td><td class="iborder6"></td></tr>\
<tr><td class="iborder7"></td><td class="iborder8"></td><td class="iborder9"></td></tr></tbody></table>'
		);
	});

	// всплывающие изображения
	$('.splash').live('click', function() {
		var src = str_str2url($(this).attr('href'));
		var alt = $(this).attr('title');

		def_splash_get().html('<img id="temp_splash_image" src="' + src + '" alt="' + alt +'" style="border:5px solid #fff;" />');
		$('#temp_splash_image').unbind('load').load(function() {
			def_splash_show();
		});

		return false;
	});

	// всплывающие изображения
	$('.splash_img').live('click', function() {
		var src = $(this).attr('href');
		var alt = $(this).attr('title');

		def_splash_get().html('<img id="temp_splash_image" src="' + src + '" alt="' + alt +'" style="border:5px solid #fff;" />');
		$('#temp_splash_image').unbind('load').load(function() {
			def_splash_show();
		});

		return false;
	});

	// кнопок в интерактивном описании автомобиля
	$('div.carcontent .cont .description ul li').delegate('a', 'click', function() {
		if(!$(this).hasClass('current')) {
			$(this).addClass('current').
				parent().siblings().find('a').removeClass('current').
				parents('div.carcontent .cont .description').find('div.desc_bloc').hide().
				eq($(this).parent().index()).fadeIn(150);
		}
		return false;
	});
})

