$(document).ready( function() {
	$('form#config_search select.type').change( changeSearchFields );

	//styleTableList();
});



function getSearchResult(){
	var data = $('form#config_search').formSerialize();

	$.post('xmlhttp/config_search.php', data, function(data){
		$('#search').html('Träffar: '+data);
	});
	
	return false;
}

function changeSearchFields(){
	var typeID = $('form#config_search select.type').val();

	$.post('xmlhttp/search_fields.php', { typeID: typeID }, function(data){
		$('.extrafields').html(data);
	});
}



function reloadPage(tab){
	$('ul.config_tabmenu a').click( tabMenu );
	$('input.acc').click( addAcc );
	$('input.addon').click( addAddon );
	$('input.buildaddon').click( addBuildAddon );


	$('ul.config_tabmenu li a.'+tab).click();

	//styleTableList();

	$('a.amount_del, a.amount_add').click( addAmount );
	
	$('div.config div.right a.toggle').click( rightAccToogle );

	$('div.config div.right a.toggle_config').click( rightAccModelToogle );

	$('div.config div.right a.toggle_misc').click( rightMiscToogle );

	$('div.config div.right input#config_name').blur( setConfigName );

	

	hideLoading();
}

function rightAccToogle(){
	
	var accID = $(this).attr('id');
	var rowID = $('input#rowID').val();

	$.post('build/config/toggle.php', { accID: accID, rowID: rowID}, function(data){
		//alert(data);
	});

	$('div.config div.right tr.r_'+accID).toggle();

	$('div.config div.right a.t_'+accID).toggle();
}

function rightAccModelToogle(){
	
	var rowID = $('input#rowID').val();

	$.post('build/config/toggle.php', { rowID: rowID, model: 1 }, function(data){
		//alert(data);
	});

	$('div.config div.right tr.k_1').toggle();

	$('div.config div.right a.toggle_config').toggle();
}

function rightMiscToogle(){
	
	var rowID = $('input#rowID').val();

	$.post('build/config/toggle.php', { rowID: rowID, misc: 1 }, function(data){
		//alert(data);
	});

	$('div.config div.right tr.ad_1').toggle();

	$('div.config div.right a.toggle_misc').toggle();
}



function styleTableList(){
	$('table.list').each( function() {
		var row = 1;
		var cl = '';
		$('tr').each ( function() {

			var new_name = 0;
			if($(this).attr('name')){
				cl = $(this).attr('name')+' ';
				new_name = 1;
				row = 0;
			}else if($(this).hasClass('header')){
				row = 0;
			}else if($(this).hasClass('price')){
				cl = '';
			}

			if($(this).parent().parent().hasClass('list')){

				if(row == 1){
					$(this).addClass(new_name == 0 ? cl+'odd' : 'odd');
					row = 0;
				}else{
					$(this).addClass(new_name == 0 ? cl+'even' : 'even');
					row = 1;
				}
			}
		});
	});
}

function tabMenu(){
	var tab = $(this).attr('class');

	$('ul.config_tabmenu li.active').removeClass('active');
	$(this).parent().addClass('active');

	$('div.tab').hide();
	$('div#'+tab).show();
}

function addAcc(){
	var value = $(this).val();
	var accID = $(this).attr('name');
	var rowID = $('input#rowID').val();

	showLoading();

	$.post('build/config/acc.php', { accID: accID, accModelID: value, rowID: rowID }, function(data){

		var tab = getActiveTab();

		$('div#config').html(data);

		reloadPage(tab);
	});
}

function addAddon(){
	var rowID = $('input#rowID').val();
	var accID = $(this).attr('name');
	var addonID = $(this).val();
	var add = 1;

	var amount = $('input#amount_'+addonID).val();

	showLoading();

	if($(this).attr('type') == 'checkbox' && !$(this).attr('checked')){
		var add = 0;
	}

	$.post('build/config/addon.php', { rowID: rowID, accID: accID, addonID: addonID, add: add, amount: amount }, function(data){
		var tab = getActiveTab();
		$('div#config').html(data);

		reloadPage(tab);
	});
}

function addBuildAddon(){
	var rowID = $('input#rowID').val();
	var buildID = $(this).attr('name');
	var addonID = $(this).val();
	var add = 1;

	var amount = $('input#amount_'+addonID).val();

	showLoading();

	if($(this).attr('type') == 'checkbox' && !$(this).attr('checked')){
		var add = 0;
	}

	$.post('build/config/addon.php', { rowID: rowID, buildID: buildID, addonID: addonID, add: add, amount: amount }, function(data){
		var tab = getActiveTab();
		$('div#config').html(data);

		reloadPage(tab);
	});
}

/*
* Sparar namn på konfiguration
*/
function setConfigName(){
	var rowID = $('input#rowID').val();
	var name = $('input#config_name').val();

	showLoading();

	$.post('build/config/name.php', { rowID: rowID, name: name }, function(data){
		var tab = getActiveTab();
		$('div#config').html(data);

		reloadPage(tab);
	});
}



function addAmount(){
	var addonID = parseInt($(this).attr('id'));
	var rowID = $('input#rowID').val();
	var accID = parseInt($(this).attr('name')) > 0 ? $(this).attr('name') : 0;

	showLoading();
	
	if(addonID > 0){
		var amount = parseFloat($('input#amount_'+addonID).val());
	}else{
		var amount = parseFloat($('input#amount_'+accID).val());
	}
	
	if($(this).hasClass('amount_add')){
		n_amount = amount + 1;
	}else{
		n_amount = amount - 1;
	}

	//Kolla om större än 0
	if(n_amount > 0){
		$.post('build/config/addon.php', { rowID: rowID, accID: accID, addonID: addonID, add: 1, amount: n_amount }, function(data){
			var tab = getActiveTab();
			$('div#config').html(data);

			reloadPage(tab);
		});
	}
}

//Visar en loading
function showLoading(){
	showShadow();
	$('div.loading').show();
}

function hideLoading(){
	$('div.loading').hide();
	hideShadow();
}

function getActiveTab(){
	var id = $('ul.config_tabmenu li.active').children().attr('class');

	return id;
}

//KONFIGURATOR

function closeBuild(){
	$('div.build, div.shadow').hide();
	$('div.build .space').html('AK');
}

function showBuild(){
	$('div.build').show();
	showShadow();
}

function showBuildForm(id){

	$.post('build/edit/build.php', { buildID: id }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}


function showBrandForm(id, buildID){

	$.post('build/edit/brand.php', { brandID: id, buildID: buildID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}


function showBuildModelForm(id, buildID, brandID){

	$.post('build/edit/model.php', { modelID: id, buildID: buildID, brandID: brandID }, function(data){
		$('div.build div.space').html(data);
		showBuild();
	});
}


function showSortModelForm(buildID, brandID){

	$.post('build/edit/model_sort.php', { buildID: buildID, brandID: brandID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}

function showBuildDataForm(buildID, brandID){

	$.post('build/edit/build_data.php', { buildID: buildID, brandID: brandID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}

// Visar acc-formulär
function showAccForm(accID){
	$.post('build/edit/acc.php', { accID: accID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}

function showAccDataForm(accID){

	$.post('build/edit/acc_data.php', { accID: accID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}

function showAccModelForm(id, accID){

	$.post('build/edit/acc_model.php', { modelID: id, accID: accID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}


// Visar addon-formulär
function showAddonDataForm(accID){

	$.post('build/edit/addon_data.php', { accID: accID }, function(data){
		$('div.build .space').html(data);
		showBuild();
	});
}

function showAddonForm(id, accID, buildID){

	$.post('build/edit/addon.php', { addonID: id, accID: accID, buildID: buildID }, function(data){
		if(data != 0){
			$('div.build .space').html(data);
			showBuild();
		}else{
			alert('Error in configurator');
		}
	});
}
