var Accessories = function() {
	this.title = true;
	this.logo = true;
	this.bigIntro = true;
	//this.middleMenu = true;
	this.stepMenu = true;
	this.footer = true;
	this.data = null;
	this.html = [];

	this.selected_cat = 0;
	this.selected_subcat = 0;
	this.opened_details = [];

	this.local_accessories = [];
}

Accessories.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);
	ajax('/ajax/?do=accessories', 'Configurator.accessories.getDataHandler('+ Configurator.onlyData +')', params.join('&'));
}

Accessories.prototype.getDataHandler = function(onlyData) {
	//alert(ajaxReq.responseText);
	if (this.data === null) {
		try {
			this.data = eval('('+ ajaxReq.responseText +')');
		} catch(e) {
			alert('Error loading accessories data.');
			throw e;
			return;
		}
	}

	if (onlyData === false) this.ini();
}

Accessories.prototype.ini = function() {
	//alert(ajaxReq.responseText);
	this.html = [];		
	this.html.push('<table align="center" class="content"><tr><td class="content_cell">');
	this.html.push(Interface.showStepButtons());

	this.html.push('<br><div class="blue_bold">'+ Interface.translate('accessories') +'</div><br>');
	this.html.push('<table width="98%"><tr><td class="acc_menu" valign="top">');

	// accessories left menu
	var so = 4;
	var so2 = 0;
	var n = 0;
	for (var i = 0; i < so; i++) {
		so2 = 4;
		if (!i)	this.html.push('<div class="start'+ (i == this.selected_cat ? '_on' : '') +'"></div>');
		this.html.push('<div class="lvl1'+ (!i ? '_first' : (i + 1 == so ? '_last' : '')) +''+ (i == this.selected_cat ? ' on' : '') +'"');
		this.html.push(' onclick="Configurator.accessories.selected_cat = \''+ i +'\'; Configurator.accessories.selected_subcat = \'0\'; Configurator.accessories.ini();">');
		this.html.push('Some category '+ (i + 1) +'</div>');
		this.html.push('<div class="lvl2_box"'+ (i == this.selected_cat ? ' style="display: block;"' : '') +'>');
		for (n = 0; n < so2; n++) {
			this.html.push('<div class="lvl2'+ (n == this.selected_subcat ? '_on' : '') +'"');
			this.html.push(' onmouseover="this.className=\'lvl2_on\';" onmouseout="this.className=\'lvl2'+ (n == this.selected_subcat ? '_on' : '') +'\';"');
			this.html.push(' onclick="Configurator.accessories.selected_subcat = \''+ n +'\'; Configurator.accessories.ini();"');
			this.html.push('>Some submenu '+ (n + 1) +'</div>');
		}
		this.html.push('</div>');
		if (i + 1 == so) this.html.push('<div class="end"></div>');
	}

	
	this.html.push('</td><td valign="top">');

	// accessories text & price
	this.html.push('<table class="acc_content">');
	so = 10;
	for (i = 0; i < so; i++) {
		id = 'acc'+ this.selected_cat +''+ this.selected_subcat +''+ i;
		this.html.push('<tr onmouseover="this.style.color=\'#fff\'; this.style.backgroundColor=\'#474747\';" ');
		this.html.push('onmouseout="this.style.color=\'#3e3e3e\'; this.style.backgroundColor=\'EAE7E2\';">');
		this.html.push('<td class="first"><input type="checkbox"/></td>');
		this.html.push('<td class="second" onclick="Configurator.accessories.details(\''+ id +'\'); Configurator.accessories.ini();"');
		this.html.push('>Some accessories '+ this.selected_cat +''+ this.selected_subcat +''+ i +'</td>');
		this.html.push('<td class="third" align="right">0</td>');
		this.html.push('</tr>');
		//details
		this.html.push('<tr id="'+ id +'" class="details" '+ (in_array(id, this.opened_details) ? '' : ' style="display: none;"'));
		this.html.push('><td class="border" colspan="3"><table class="w100p"><tr>');
		this.html.push('<td><img src="/_/acc/some_acc.gif" alt=""/></td>');
		this.html.push('<td valign="top" class="s11">Some very useful accessories description</td></tr></table></td></tr>');
	}	
	this.html.push('</table></td></tr>');
	if (Configurator.fromVDI === true) {
		this.html.push('<tr class="h40"><td colspan="2" class="blue_bold" valign="top"><br>'+ Interface.translate('local_acc') +'</td></tr>');
		
		so = this.data['local_accessories'].length;
		//alert(this.data);
		if (so > 0) {
			this.html.push('<tr><td colspan="2"><table class="w100p">');
			this.html.push('<tr class="acc_local">');
			this.html.push('<td>&nbsp;</td>');
			this.html.push('<td>'+ Interface.translate('title') +'</td>');
			this.html.push('<td align="right" width="1%"><nobr>'+ Interface.translate('price_component_6') +'</nobr></td>');
			this.html.push('<td align="right" width="1%"><nobr>'+ Interface.translate('retail_price_vat') +'</nobr></td></tr>');
		}
		for (i = 0; i < so; i++) {
			this.html.push('<tr><td class="acc_first"><input type="checkbox" onclick="Configurator.accessories.add(\''+ this.data['local_accessories'][i]['id'] +'\');"');
			this.html.push(''+ (in_array(this.data['local_accessories'][i]['id'], this.local_accessories) ? ' checked="checked"' : '') +'/></td>');
			this.html.push('<td class="acc_second">'+ this.data['local_accessories'][i]['title'] +'</td>');
			this.html.push('<td class="acc_second" align="right">'+ this.data['local_accessories'][i]['landed_cost'] +'</td>');
			this.html.push('<td class="acc_third" align="right">'+ this.data['local_accessories'][i]['retail_price'] +'</td></tr>');
		}
		if (so > 0) this.html.push('</table><br><br></td></tr>');

		/*this.html.push('<tr class="h20"><td colspan="2" class="separator_top"></td></tr>');

		this.html.push('<tr><td class="black_bold s11" id="acc_title_text">'+ Interface.translate('title') +'</td>');
		this.html.push('<td><input type="text" name="acc_title" id="acc_title" value="" class="s11 w240"/></td></tr>');
		this.html.push('<tr><td class="black_bold s11" id="acc_landed_cost_text">'+ Interface.translate('price_component_6') +', EUR</td>');
		this.html.push('<td><input type="text" name="acc_landed_cost" id="acc_landed_cost" value="" class="s11 w100"/></td></tr>');
		this.html.push('<tr><td class="black_bold s11" id="acc_retail_price_text">'+ Interface.translate('retail_price_vat') +', EUR</td>');
		this.html.push('<td><input type="text" name="acc_retail_price" id="acc_retail_price" value="" class="s11 w100"/></td></tr>');
		this.html.push('<tr class="h40"><td /><td>');
			this.html.push('<table class="pointer w100"><tr><td class="w4 send_l h21">&nbsp;</td><td class="white_bold w165 send_m" align="center" ');
			this.html.push('onclick="Configurator.accessories.add();">');
			this.html.push(Interface.translate('add')+'</td><td class="w4 send_r h21">&nbsp;</td></tr></table>');
		this.html.push('</td></tr>');*/
	}
	this.html.push('</table>');
	
	this.html.push('</td>');
	this.html.push(Interface.showRightMenu());
	this.html.push('</tr></table>');

	$('content').innerHTML = this.html.join('');
	
	Interface.loading(true);
}

/*Accessories.prototype.remove = function(id) {
	var so = this.local_accessories.length;
	var temp = [];
	for (var i = 0; i < so; i++) {
		if (this.local_accessories[i]['id'] != id) temp.push(this.local_accessories[i]);
	}
	this.local_accessories = temp;
	this.ini();
}*/

Accessories.prototype.add = function(id) {	
	if (!in_array(id, this.local_accessories)) this.local_accessories.push(id);
	else {
		var so = this.local_accessories.length;
		var temp = [];
		for (var i = 0; i < so; i++) {
			if (this.local_accessories[i] != id) temp.push(this.local_accessories[i]);
		}
		this.local_accessories = temp;
	}
	Price.getLocalAccessoriesPrice();
	this.ini();
	/*$('acc_title_text').style.color = $('acc_landed_cost_text').style.color = $('acc_retail_price_text').style.color = '#000';
	var o = $('acc_title');
	var val = o.value;
	if (val.length == 0 || val.length > 255) {
		$('acc_title_text').style.color = 'red';
		return;
	}
	o = $('acc_landed_cost');
	val = parseFloat(o.value);
	
	if (isNaN(val) || val < 1 || val > 20000) {
		$('acc_landed_cost_text').style.color = 'red';
		return;
	}
	
	o = $('acc_retail_price');
	val = parseFloat(o.value);
	if (isNaN(val) || val < 1 || val > 20000) {
		$('acc_retail_price_text').style.color = 'red';
		return;
	}*/
	
}

Accessories.prototype.details = function(id) {	
	if (!in_array(id, this.opened_details))	this.opened_details.push(id);	
	else {
		var so = this.opened_details.length;
		var temp = [];
		for (var i = 0; i < so; i++) {
			if (this.opened_details[i] != id) temp.push(this.opened_details[i]);
		}
		this.opened_details = temp;
	}
}

