var close = new Array();
var obj = new Array();
var preload = new Array();
var pages = {};

addEvent('load', window, 'ini()');

function ini() {
	closeAll();
	
	if ($('carPreviewContainer')) {
		addEvent('load', window, 'iniCarsImages()');
		obj['previewCont'] = $('carPreviewContainer');
		obj['preview'] = $('carPreview');
		addEvent('mouseover', obj['preview'], 'previewStarted=true');
		addEvent('mouseout', obj['preview'], 'iniStopPreview()');
	}
	
	var i, SO = preload.length;
	var tmp = new Array();
	for (i = 0; i < SO; i++) {
		tmp.push(new Image());
		tmp[tmp.length - 1].src = preload[i];
	}
}

var content = new Array();
var flash = new Array();
var page = 0;
var previewContent = {};
var previewStarted = false;
var carPreviewTO = 1000; // car preview time out

function switchPage(id) {
	if (id == page) return;
	
	$('innerMenuEl'+ page).className = '';
	$('innerMenuEl'+ id).className = 'sel';
	
	page = id;
	$('content').innerHTML = content[id];
	
	if (typeof(flash[id]) != 'string') {
		var so = new SWFObject("/scripts/player.swf", "flashBanner", "605", "375", "8", "#ededed");
		if (flash[id]['swf'] != '') so.addVariable("flashpath", flash[id]['swf']);
		if (flash[id]['flv'] != '') so.addVariable("videopath", flash[id]['flv']);
		so.addVariable("slider", "1");
		so.addVariable("lng", flash[id]['lng']);
		so.addParam("wmode", "transparent");
		so.write("mmContainer");
	}
	
	var a = $('lng').getElementsByTagName('A');
	for (var i = 0; i < a.length; i++) {
		var s = '';
		if (a[i].href.indexOf('?') > -1) s = '&';
		else s = '?';
		if (a[i].href.indexOf('page=') > -1) a[i].href = a[i].href.replace(/page=[0-9]+/i, 'page='+ id);
		else a[i].href += s + 'page='+ id;
	}
}

function carMenu(o, step) {
	if (! isset(step)) var step = '1';
	
	switch (step) {
		default:
			o.style.backgroundColor = '#fff';
		break;
		
		case '2':
			o.style.backgroundColor = '';
		break;
	}
}

function startPreview(id) {
	previewStarted = true;
	//obj['preview'].innerHTML = previewContent[id.substring(2)]['content'];
	obj['preview'].innerHTML = previewContent[id]['content'];
	toggleOn(obj['previewCont']);
}

function iniStopPreview() {
	previewStarted = false;
	setTimeout('stopPreview()', carPreviewTO);
}

function stopPreview() {
	if (! previewStarted) toggleOff(obj['previewCont']);
}

function iniCarMenu(withPreview) {
	if (! isset(withPreview)) var withPreview = false;
	
	var nodes = getElementsByClass('car', $('carMenu'), 'div');
	for (var i = 0; i < nodes.length; i++) {
		if (nodes[i].id != '') {
			if (withPreview) {
				addEvent('mouseover', nodes[i], 'highlightMenu("'+ nodes[i].id +'", "1"); startPreview("'+ nodes[i].id +'");');
				addEvent('mouseout', nodes[i], 'highlightMenu("'+ nodes[i].id +'", "2"); iniStopPreview();');
			} else {
				addEvent('mouseover', nodes[i], 'highlightMenu("'+ nodes[i].id +'", "1");');
				addEvent('mouseout', nodes[i], 'highlightMenu("'+ nodes[i].id +'", "2");');
			}
		}
	}
}

function iniCarsImages() {
	var i, el, s, r = new RegExp();
	r.compile(' src="([^"]+)"', 'gi');
	var preLoad = new Array();
	
	for (el in previewContent) {
		s = r.exec(previewContent[el]['content']);
		if (s) {
			preLoad[i] = new Image();
			preLoad[i].src = s[1];
			i++;
		}
	}
	
}

function highlightMenu(id, step) {
	var o = $(id);
	
	switch (step) {
		default:
			o.style.backgroundColor = '#dfd7b4';
			o.style.borderColor = '#dfd7b4';
			o.firstChild.style.color = '#3d3d3d';
		break;
		
		case '2':
			o.style.backgroundColor = '#5b5849';
			o.style.borderColor = '#5b5849';
			o.firstChild.style.color = '#fff';
		break;
	}
}

function toggleMenu(id) {
	if ($(id +'_arrow').className == 'menuArrow') {
		$(id +'_arrow').className = 'menuArrow_open';
		$(id).style.display = 'block';
	} else {
		$(id +'_arrow').className = 'menuArrow';
		$(id).style.display = 'none';
	}
}

function toggleCarMenu(o) {
	var span = o.firstChild.firstChild;
	if (span.className == 'carModels') {
		span.className = 'carModels_open';
		$('models').style.display = 'block';
	} else {
		span.className = 'carModels';
		$('models').style.display = 'none';
	}
}

function toggleWithArrow(o, id, open, closed, closeAll) {
	if (isset(closeAll)) {
		if (closeAll != '') {
			var el, arr = eval(closeAll);
			
			for (el in arr) {
				if (el == id) {
					if (arr[el]['open']) {
						arr[el]['open'] = false;
						arr[el]['o'].style.display = 'none';
						arr[el]['arrowClass'].className = closed;
					} else {
						arr[el]['open'] = true;
						arr[el]['o'].style.display = 'block';
						arr[el]['arrowClass'].className = open;
					}
				} else {
					arr[el]['open'] = false;
					arr[el]['o'].style.display = 'none';
					arr[el]['arrowClass'].className = closed;
				}
			}
		}
	}
}

function addPage(id, arrow, open, arr, openClass) {
	var o;
	if (o = $(id)) {
		if (! isset(open)) var open = false;
		if (empty(arr)) arr = eval('pages');
		arr[id] = {
			'o' : o,
			'open' : open,
			'arrowClass' : (isset(arrow) ? arrow : $(id).firstChild.firstChild)
		}
		if (open   &&   isset(openClass)) arrow.className = openClass;
	}
}


function closeAll() {
	for (var i = 0; i < close.length; i++) close[i].style.display = 'none';
}

function validateCode(code, lngth) {
	if (code.length != lngth) return false;
	if (autoVerificationCodeMD5 != MD5(code)) return false;
	return true;
}