var Interior = function() {
	this.title = true;
	this.logo = true;
	this.bigIntro = true;
	//this.middleMenu = true;
	this.stepMenu = true;
	this.footer = true;
	this.data = null;
	this.html = [];
}

Interior.prototype.getData = function() {

	if (this.data !== null) {
		if (Configurator.onlyData === false) this.ini();
		return;
	}

	var params = [];
	params.push('market='+Configurator.marketID);
	params.push('region='+Configurator.regionID);
	params.push('sv='+Car.svID);
	params.push('gear='+Car.gearboxID);
	params.push('engine='+Car.engineID);
	params.push('car='+Car.modelID);
	params.push('mc='+Car.mc);
	params.push('roof=0');
	params.push('lng='+Configurator.language);
	params.push('DBnum='+ Configurator.DBnum);
	params.push('marketID='+Configurator.marketID);
	params.push('outletID='+ Configurator.outletID);
	params.push('dealerID='+ Configurator.dealerID);
	params.push('fromVDI='+ Configurator.fromVDI);
	if (Car.customerID) params.push('customerID='+ Car.customerID);
	if (Car.customer_type) params.push('customer_type='+ Car.customer_type);

	ajax('/en/daction/step2/', 'Configurator.interior.getDataHandler('+ Configurator.onlyData +')', params.join('&'));
	//ajax('/en/daction/step2/?XDEBUG_PROFILE=1', 'Configurator.interior.getDataHandler('+ Configurator.onlyData +')', params.join('&'));
}

Interior.prototype.getDataHandler = function(onlyData) {
	//alert(ajaxReq.responseText);
	//document.body.innerHTML = '<pre>'+ajaxReq.responseText;
	//return;
	if (this.data === null) this.data = getXML();
	Interface.flashCache = false;
	var i = 0;
	try {
		eval(this.data['rims']['txt']);
	} catch(e) {
		alert(e);
	}


	// set color

	if (isset(this.data['solid_colors']['i0']) && !Car.colorID) this.setColor(this.data['solid_colors']['i0']['id']['txt'], this.data['solid_colors']['i0']['text']['txt'],
		this.data['solid_colors']['i0']['price']['txt'], this.data['solid_colors']['i0']['pic_s']['txt'], this.data['solid_colors']['i0']['pic']['txt']);
	else if (!Car.colorID) this.setColor(this.data['colors']['i0']['id']['txt'], this.data['colors']['i0']['text']['txt'], this.data['colors']['i0']['price']['txt']
			, this.data['colors']['i0']['pic_s']['txt'], this.data['colors']['i0']['pic']['txt']);
	if (Car.colorID && Configurator.fromVDI === true) {
		// find color if from VDI

		var find = false;
		for(el in this.data['solid_colors']) {
			if (this.data['solid_colors']['i'+i]['id']['txt'] == Car.colorID) {
				this.setColor(this.data['solid_colors']['i'+i]['id']['txt'], this.data['solid_colors']['i'+i]['text']['txt'],
					this.data['solid_colors']['i'+i]['price']['txt'], this.data['solid_colors']['i'+i]['pic_s']['txt'], this.data['solid_colors']['i'+i]['pic']['txt']);
				find = true;
				break;
			}
			i++;
		}
		if (find === false) {
			i = 0;
			for(el in this.data['colors']) {
				if (this.data['colors']['i'+i]['id']['txt'] == Car.colorID) {
					this.setColor(this.data['colors']['i'+i]['id']['txt'], this.data['colors']['i'+i]['text']['txt'],
						this.data['colors']['i'+i]['price']['txt'], this.data['colors']['i'+i]['pic_s']['txt'], this.data['colors']['i'+i]['pic']['txt']);
					break;
				}
				i++;
			}

		}
	}


	// set uphols
	if (isset(this.data['uphols']['i0']) && !Car.upholsID)
		this.setUphols(this.data['uphols']['i0']['id']['txt'], this.data['uphols']['i0']['text']['txt'], this.data['uphols']['i0']['price']['txt'],
			this.data['uphols']['i0']['pic_s']['txt'], this.data['uphols']['i0']['pic']['txt']);
	if (Car.upholsID && Configurator.fromVDI === true) {
		// find upholstery if from VDI
		i = 0;
		for(el in this.data['uphols']) {
			if (this.data['uphols']['i'+i]['id']['txt'] == Car.upholsID) {
					this.setUphols(this.data['uphols']['i'+i]['id']['txt'], this.data['uphols']['i'+i]['text']['txt'],
						this.data['uphols']['i'+i]['price']['txt'], this.data['uphols']['i'+i]['pic_s']['txt'], this.data['uphols']['i'+i]['pic']['txt']);
					break;
			}
			i++;
		}
	}

	// rims insert
	if (!Car.rims) Car.rims = [];
	if (isset(Car.rims[0]) && (!Car.rimsID || Car.rimsID === 'null')) this.setRims(Car.rims[0]['id'], Car.rims[0]['text'], 0, Car.rims[0]['pic_s'], Car.rims[0]['pic']);
	else if (!Car.rimsID || Car.rimsID === 'null') this.setRims(sv_add_opt[0][1], sv_add_opt[0][0], sv_add_opt[0][2], sv_add_opt[0][4], sv_add_opt[0][3]);

	if ((Car.rimsID && Car.rimsID !== 'null') && Configurator.fromVDI === true) {
		var so = Car.rims.length;
		find = false;
		for (i = 0; i < so; i++) {
			if (Car.rims[i]['id'] == Car.rimsID) {
				this.setRims(Car.rims[i]['id'], Car.rims[i]['text'], 0, Car.rims[i]['pic_s'], Car.rims[i]['pic']);
				find = true;
				break;
			}
		}
		if (find === false) {
			so = sv_add_opt.length;
			for (i = 0; i < so; i++) {
				if (sv_add_opt[i][1] == Car.rimsID) {
					this.setRims(sv_add_opt[i][1], sv_add_opt[i][0], sv_add_opt[i][2], sv_add_opt[i][4], sv_add_opt[i][3]);
					break;
				}
			}
		}
	}

	if (onlyData === false) this.ini();
}

Interior.prototype.ini = function() {
	//alert(ajaxReq.responseText);
	this.html = [];
	var i = 0;

	eval(this.data['rims']['txt']);

	this.html.push('<table align="center" class="content"><tr><td class="content_cell">');
	this.html.push(Interface.showStepButtons());

	this.html.push('<table class="table"><tr class="h31">');
		this.html.push('<td class="p40" valign="top" style="width: 279px;"><table style="width: 279px;">');
		this.html.push('<tr><td class="blue_bold" valign="top" width="1%">'+Interface.translate('item')+':&nbsp;</td>');
		this.html.push('<td class="blue_bold"><span class="grey">('+ Car.colorID +') '+ Car.colorData.text +'</span><span class="black_bold"> - '+ Price.defaultCurrency +' ');
		this.html.push(Price.getPrice(Car.colorData.price) +'</span></td></table></td>');
		this.html.push('<td valign="top"><table><tr><td class="blue_bold" valign="top">'+Interface.translate('rims')+':&nbsp;</td>');


			this.html.push('<td class="blue_bold"><span class="grey">('+ Car.rimsID +') '+ Car.rimsData.text +'</span><span class="black_bold"> - '+ Price.defaultCurrency +' ');
			this.html.push(Price.getPrice(Car.rimsData.price) +'</span></td></tr></table></td>');

	this.html.push('</tr><tr class="h24">');
		this.html.push('<td class="blue_bold p40" valign="top">'+Interface.translate('solid_colors')+':</td>');
		this.html.push('<td class="blue_bold" valign="top">'+Interface.translate('standart_rims')+':</td>');
	this.html.push('</tr><tr>');
		this.html.push('<td class="p40 h45" valign="top"><div class="relative">');

		// solid colors
		i = 1;
		var k = 1;
		var top = 0;
		var left = 0;
		var item;
		for(el in this.data['solid_colors']) {
			var item = this.data['solid_colors']['i'+(i-1)];
			Pictures.add(item['pic']['txt']);
			Pictures.add(item['pic_s']['txt']);

			this.html.push('<div class="box1" id="color'+ item['id']['txt'] +'" style="left: '+ left +'px; top: '+ top +'px;');
			this.html.push('background: url('+ item['pic_s']['txt'] +') top left no-repeat" ');
			if (this.data['solid_colors']['i'+(i-1)]['pic']['txt'] != '')
				this.html.push('onmouseover="Configurator.interior.showPic(\'color1\', \''+ item['pic']['txt'] +'\', '+ (left + 37) +', '+ (top + 37) +', \''+ '('+ item['id']['txt'] +') '+ item['text']['txt'] +'\');" ');
			this.html.push('onmouseout="Configurator.interior.hidePic(\'color1\');" ');
			this.html.push('onclick="Interface.flashCache = false; Configurator.interior.setColor(\''+ item['id']['txt'] +'\', ');
			this.html.push('\''+ item['text']['txt'] +'\', \''+ item['price']['txt'] +'\',');
			this.html.push('\''+ item['pic_s']['txt']+'\', \''+ item['pic']['txt']+'\'); Configurator.ini();"></div>');
			left += 37;
			if (i%7 == 0) {
				top = k*37;
				left = 0;
				k++;
			}
			++i;
		}

		// metallic colors
		i = k = 1;
		top = 69;
		left = 0;
		for(el in this.data['colors']) {
			item = this.data['colors']['i'+(i-1)];
			Pictures.add(item['pic']['txt']);
			Pictures.add(item['pic_s']['txt']);

			this.html.push('<div class="box1" id="color'+ item['id']['txt'] +'" style="left: '+left+'px; top: '+top+'px;');
			this.html.push('background: url('+ item['pic_s']['txt']+') top left no-repeat" ');
			if (item['pic']['txt'] != '')
				this.html.push('onmouseover="Configurator.interior.showPic(\'color2\', \''+ item['pic']['txt'] +'\', '+ (left + 37) +', '+ (top + 37) +', \''+ '('+ item['id']['txt'] +') '+ item['text']['txt'] +'\');" ');
			this.html.push('onmouseout="Configurator.interior.hidePic(\'color2\');" ');
			this.html.push('onclick="Interface.flashCache = false; Configurator.interior.setColor(\''+ item['id']['txt'] +'\', ');
			this.html.push('\''+ item['text']['txt'] +'\', \''+ item['price']['txt']+'\',');
			this.html.push('\''+ item['pic_s']['txt']+'\', \''+ item['pic']['txt']+'\'); Configurator.ini();"></div>');
			left += 37;
			if(i%7 == 0) {
				top += 37;
				left = 0;
				k++;
			}
			++i;
		}

		// standart rims
		k = 1;
		top = 0;
		left = 299;
		var so = Car.rims.length;
		//this.html = [];

		for (i = 0; i < so; i++) {
			item = Car.rims[i];
			Pictures.add(item['pic_s']);
			Pictures.add(item['pic']);

			this.html.push('<div class="box1" style="left: '+left+'px; top: '+top+'px; background: url(\''+ item['pic_s']+'\') top left no-repeat;" ');
			this.html.push('id="rims'+ item['id'] +'" ');
			if (item['pic'] != '')
				this.html.push('onmouseover="Configurator.interior.showPic(\'rims1\', \''+ item['pic'] +'\', '+ (left + 37) +', '+ (k*37) +', \''+'('+ item['id'] +') '+ item['text'] +'\');" ');
			this.html.push('onmouseout="Configurator.interior.hidePic(\'rims1\');" ');
			this.html.push('onclick="Interface.flashCache = false; Configurator.interior.setRims(\''+Car.rims[i]['id'] +'\', ');
			this.html.push('\''+ item['text'] +'\', 0, \''+ item['pic_s'] +'\', \''+ item['pic'] +'\');');
			this.html.push(' Configurator.ini();"></div>');
			//alert(Car.rims[i]['text']);
			left += 37;
		}
		//alert(this.html.join(''));
		//return;
		// additional rims
		k = 1;
		top = 69;
		left = 299;
		so = sv_add_opt.length;
		for(i = 0; i < so; ++i) {
			item = sv_add_opt[i];
			Pictures.add(sv_add_opt[i][4]);
			Pictures.add(sv_add_opt[i][3]);

			this.html.push('<div class="box1" id="rims'+ item[1]+'" style="left: '+left+'px; top: '+top+'px; background: url('+ item[4]+') top left no-repeat" ');
			this.html.push('id="rims'+ item[1] +'" ');
			if (item[3] != '')
				this.html.push('onmouseover="Configurator.interior.showPic(\'rims2\', \''+ item[3] +'\', '+ (left + 37) +', '+ (top + 37) +', \''+'('+ item[1] +') '+ item[0] +'\');" ');
			this.html.push('onmouseout="Configurator.interior.hidePic(\'rims2\');" ');
			this.html.push('onclick="Interface.flashCache = false; Configurator.interior.setRims(\''+ item[1] +'\', ');
			this.html.push('\''+ item[0] +'\', \''+ item[2] +'\', \''+ item[4] +'\', \''+ item[3] +'\');');
			this.html.push(' Configurator.ini();"></div>');
			left += 37;
			if((i+1)%7 == 0) {
				top += 37;
				left = 299;
				k++;
			}
		}

		// upholstery
		i = k = 1;
		//top = 223;
		top = 223;
		left = 0;
		for(el in this.data['uphols']) {
			item = this.data['uphols']['i'+(i-1)];
			Pictures.add(item['pic_s']['txt']);
			Pictures.add(item['pic']['txt']);

			this.html.push('<div class="box3" id="uphols'+ item['id']['txt'] +'" style="left: '+left+'px; top: '+top+'px; ');
			this.html.push('background: url('+ item['pic_s']['txt']+') top left no-repeat" ');
			if (item['pic']['txt'] != '')
				this.html.push('onmouseover="Configurator.interior.showPic(\'uphols\', \''+ item['pic']['txt'] +'\', '+ (left + 76) +', '+ (top - 140) +', \''+ '('+ item['id']['txt'] +') '+ item['text']['txt'] +'\');" ');
			this.html.push('onmouseout="Configurator.interior.hidePic(\'uphols\');" ');
			this.html.push('onclick="Interface.flashCache = false; Configurator.interior.setUphols(\''+ item['id']['txt'] +'\', ');
			this.html.push('\''+ item['text']['txt'] +'\', \''+ item['price']['txt']+'\', ');
			this.html.push('\''+ item['pic_s']['txt']+'\', \''+ item['pic']['txt']+'\');');
			this.html.push(' Configurator.ini();"></div>');
			left += 76;
			if(i%7 == 0) {
				top += 36;
				left = 0;
				k++;
			}
			++i;
		}

		this.html.push('<div class="box1pic" id="color1_box"><img src="/_/_.gif" alt="" id="color1_pic"/><div id="color1_text" class="preview_box_text">asd</div></div>');
		this.html.push('<div class="box1pic" id="color2_box"><img src="/_/_.gif" alt="" id="color2_pic"/><div id="color2_text" class="preview_box_text">asd</div></div>');
		this.html.push('<div class="box2pic" id="rims2_box"><img src="/_/_.gif" alt="" id="rims2_pic"/><div id="rims2_text" class="preview_box_text">asd</div></div>');
		this.html.push('<div class="box2pic" id="rims1_box"><img src="/_/_.gif" alt="" id="rims1_pic"/><div id="rims1_text" class="preview_box_text">asd</div></div>');
		this.html.push('<div class="box3pic" id="uphols_box"><div id="uphols_text" class="preview_box_text">asd</div><img src="/_/_.gif" alt="" id="uphols_pic"/></div>');

		this.html.push('<td valign="top"></td></tr><tr class="h24">');
		this.html.push('<td class="blue_bold p40" valign="top">'+Interface.translate('metallic_colors')+':</td>');
		this.html.push('<td class="blue_bold" valign="top">'+Interface.translate('available_styles')+':</td>');
		this.html.push('</tr><tr><td class="p40 h115" valign="top"></td>');
		this.html.push('<td valign="top"></td></tr><tr class="h24">');
		this.html.push('<td class="blue_bold p40" valign="top" colspan="2">'+Interface.translate('uphols')+': ');
		this.html.push('<span id="upholsText" class="grey">('+ Car.upholsID +') '+ Car.upholsData.text +'</span><span class="black_bold">');
		this.html.push(' - '+ Price.defaultCurrency +' '+ Price.getPrice(Car.upholsData.price) +'</span></td>');
		this.html.push('</tr><tr class="h140"><td class="p40" valign="top" colspan="2"></td></tr>');
	this.html.push('</table>');
	this.html.push('</td>');

	this.html.push(Interface.showRightMenu());

	this.html.push('</tr></table>');
	//alert(this.html);
	$('content').innerHTML = this.html.join('');
	//return;

	this.showSelected();
	if (Interface.isFlash === true) Interface.showFlash();
	Pictures.preload();
	Interface.loading(true);
}

Interior.prototype.showPic = function(id, pic, x, y, text) {
	var o = $(id+'_box');
	var o2 = $(id+'_pic');
	$(id+ '_text').innerHTML = text;
	o.style.left = x+'px';
	o.style.top = y+'px';
	o.style.display = 'block';
	o2.src = pic;
	o2.style.display = 'block';
}

Interior.prototype.hidePic = function(id) {
	var o = $(id+'_box');
	var o2 = $(id+'_pic');
	o.style.display = 'none';
	o2.src = '/_/_.gif';
	o2.style.display = 'none';
}

Interior.prototype.setColor = function(id, text, price, pic_s, pic) {
	Car.colorData = {"text":text, "price":price, "pic_s":pic_s, "pic": pic};
	Price.color = parseInt(price, 10);
	Car.colorID = id;
}

Interior.prototype.setRims = function(id, text, price, pic_s, pic) {
	if (!text) text = '';
	if (!id) id = 0;
	if (!pic_s) pic_s = '';
	Car.rimsData = {"text":text, "price":price, "pic_s":pic_s, "pic":pic};
	Price.rims = parseInt(price, 10);
	Car.rimsID = id;
}

Interior.prototype.setUphols = function(id, text, price, pic_s, pic) {
	Car.upholsData = {"text":text, "price":price, "pic_s":pic_s, "pic": pic};
	Price.uphols = parseInt(price, 10);
	Car.upholsID = id;
}

Interior.prototype.showSelected = function() {
	$('color'+Car.colorID).innerHTML = '<img src="/_/color_rims_s.gif" alt="" />';
	if (Car.rimsID) $('rims'+Car.rimsID).innerHTML = '<img src="/_/color_rims_s.gif" alt="" />';
	$('uphols'+Car.upholsID).innerHTML = '<img src="/_/upholst_s.gif" alt="" />';
}


