var basketModule = {
	lukas_sim: null,
	lukas_simulators: [],
	is_assembly_free: true,

	createLukasSimulator: function(disabled, basket)
	{
		basketModule.lukas_sim = new lukas.Simulator({
			button: "#lukas-simulator-button",
			info: "#lukas-simulator-info",
			link:  "/lukas?act=symulator&p=",
			price_min: 500,
			price_max: 10000,
			show_info: true,
			enabled: disabled ? false : true,
			basket: basket ? true : false
		});

		return basketModule.lukas_sim;
	},

	createLukasSimulatorArray: function(data)
	{
		var input, id;

		for (var i in data)
		{
			id = "basket-add-quantity-" + i;
			basketModule.lukas_simulators[id] = new lukas.Simulator({
				button: "#lukas-simulator-button-" + i,
				info: "#lukas-simulator-info-" + i,
				link:  "/lukas?act=symulator&p=",
				price_min: 500,
				price_max: 10000,
				price_base: data[i] > 0 ? data[i] : 0,
				enabled: data[i] == null ? false : true
			});

			input = jQuery("#basket-add-quantity-" + i);

			input.change(function() {
				basketModule.lukas_simulators[this.id].setPrice(this.value * basketModule.lukas_simulators[this.id].getPriceBase());
			});

			basketModule.lukas_simulators[id].setPrice(input.val() * data[i]);
			jQuery("#lukas-simulator-container-" + i).show();
		}
	},

	validLukasAmount: function()
	{
		if (basketModule.lukas_sim && (!basketModule.lukas_sim.isActive() || !basketModule.lukas_sim.isEnabled()))
		{
			var el = jQuery("#pobranie");

			alert(basketModule.lukas_sim.getInfoText());
			jQuery("#lukas_raty").removeAttr("checked");

			if (!el || el.attr("disabled"))
			{
				el = jQuery("#gotowka");
			}
			
			el.attr("checked", "checked");
			sum_basket();
			return false;
		}

		return true;
	},
	
	setAssemblyNonFree: function()
	{
		basketModule.is_assembly_free = false;
	},
	
	isAssemblyFree: function()
	{
		return basketModule.is_assembly_free;
	}
}

function validate_basket( lines )
{
	if (
			( document.getElementById('eraty_potwierdzenie') )
			&&
			( document.getElementById('eraty_potwierdzenie').checked == false )
			&&
			( document.getElementById('sprzedaz_ratalna').checked == true )
		)
	{
		alert ("Zanim złożysz zamówienie korzystajac z systemu ratalnego, zapoznaj sie z procedura udzielenia kredytu ratalnego eRaty żagiel.");
		return false;
	}
	else if (
			( document.getElementById('platnosc_elektroniczna') )
			&&
			( document.getElementById('platnosc_elektroniczna').checked == true )
			&&
			( document.getElementsByName("pay_type")[0].value == "" )
		)
	{
		alert ("Musisz wybrać rodzaj płatności elektronicznej!");
		return false;
	}
	else if ( lines > 0 )
	{
		var text = document.getElementById('note').value.replace(/\s+$/g,"");
		var split = text.split("\n") 
  		if ( ( parseInt( lines ) > split.length ) || ( text.length == 0 ) )
  		{
			alert ("Musisz wypełnić pole uwagi podając "+lines+" numery(ów) VIN. Każdy numer musi być w osobnej linii!");
			return false;
		}
	}
	else
	{
		return true;
	}
}

function roundValue( value )
{
	var myValue = parseFloat( value );
	return myValue.toFixed(2);
}

function sum_basket(sender)
{
	var inputs = document.getElementById('basketSubmitForm').getElementsByTagName("input");
	var finput = null;
	
	if (sender && sender.id == 'lukas_raty')
	{
		sender.checked = true;
	}
	
	if ( ( document.getElementById('Kurier') ) && ( document.getElementById('Kurier').checked == true ) )
	{
		if ( document.getElementById('lukas_raty') )
		{
			if (document.getElementById('lukas_raty').checked)
			{
				jQuery('.delivery_personal').hide();
			}
			else
			{
				jQuery('.delivery_personal').show();
			}

			document.getElementById('lukas_raty').disabled = false;
			document.getElementById('lukas_raty_box').style.display = 'table-row';
		}
		
		for ( var i = 0; i < inputs.length; i++ )
			if( inputs[i].name == "payment" )
			{
				if ( finput == null )
					finput = inputs[i];

				if ( document.getElementById( inputs[i].id + '_disabled' ) == null )
				{
					inputs[i].disabled = false;
					document.getElementById( inputs[i].id + '_box' ).style.display = 'table-row';
				}
			}

		if ( document.getElementById('gotowka') )
		{
			if ( document.getElementById('gotowka').checked == true )
				finput.checked = "checked";
			document.getElementById('gotowka').disabled = true;
			document.getElementById('gotowka_box').style.display = 'none';
		}
		
		if ( document.getElementById('montaz') )
		{
			document.getElementById('montaz').checked = false;
			document.getElementById('montaz').disabled = true;
		}

		if( document.getElementById('basketDeliveryAddress') )
			document.getElementById('basketDeliveryAddress').style.display = 'block';
	}
	else
	{
		if ( document.getElementById('lukas_raty') )
		{
			if (document.getElementById('lukas_raty').checked)
			{
				jQuery('.delivery_personal').hide();
				document.getElementById('Kurier').checked = true;
				sum_basket();
			}
			else
			{
				document.getElementById('gotowka').checked = true;
				jQuery('.delivery_personal').show();
			}
			document.getElementById('lukas_raty').disabled = false;
			document.getElementById('lukas_raty_box').style.display = 'table-row';
		}
		else
		{
			document.getElementById('gotowka').checked = true;
		}
		
		for ( var i = 0; i < inputs.length; i++ )
			if( inputs[i].name == "payment" )
			{
				inputs[i].disabled = true;
				document.getElementById( inputs[i].id + '_box' ).style.display = 'none';
			}

		if ( document.getElementById('gotowka') )
		{
			document.getElementById('gotowka').disabled = false;
			document.getElementById('gotowka_box').style.display = 'table-row';
		}

		if ( document.getElementById('montaz') )
			document.getElementById('montaz').disabled = false;
			
		if( document.getElementById('basketDeliveryAddress') )
			document.getElementById('basketDeliveryAddress').style.display = 'none';
	}

	var platnoscKoszt = 0;
	var dostawaKoszt = 0;

	if ( ( document.getElementById('montaz') ) && ( document.getElementById('montaz').checked == true ) && basketModule.isAssemblyFree())
	{
		// Gdy wybrano montaż, koszt dostawy jest zerowy
	}
	else
	{
		for ( var i = 0; i < inputs.length; i++ )
		{
			if ( ( inputs[i].name == "payment" ) && ( inputs[i].checked ) )
			{
				platnoscKoszt = parseFloat( document.getElementById( inputs[i].id + '_koszt' ).value );
			}
	
			if ( ( inputs[i].name == "delivery" ) && ( inputs[i].checked ) )
			{
				if ( document.getElementById('transportTitle') )
				{
					if ( inputs[i].value.indexOf("Odbiór osobisty") != -1 )
					{
						document.getElementById('transportTitle').innerHTML = "Dostawa na serwis";
					}
					else
					{
						document.getElementById('transportTitle').innerHTML = "Transport";
					}
				}
				dostawaKoszt = parseFloat( document.getElementById( inputs[i].id + '_koszt' ).value );
			}
		}
	}

	document.getElementById('orderDeliverySumValue').firstChild.data = roundValue( platnoscKoszt + dostawaKoszt );
	document.getElementById('orderSumValue').firstChild.data = roundValue( parseFloat( document.getElementById('orderSum').value ) + platnoscKoszt + dostawaKoszt );
	if ( ( document.getElementById('orderDeliverySumValue2') ) && ( document.getElementById('orderDeliverySumValue2').firstChild.data ) )
		document.getElementById('orderDeliverySumValue2').firstChild.data = roundValue( platnoscKoszt + dostawaKoszt );	
	if ( ( document.getElementById('orderSumValue2') ) && ( document.getElementById('orderSumValue2').firstChild.data ) )
		document.getElementById('orderSumValue2').firstChild.data = roundValue( parseFloat( document.getElementById('orderSum').value ) + platnoscKoszt + dostawaKoszt );

	if (basketModule.lukas_sim)
	{
		basketModule.lukas_sim.setPrice(roundValue(parseFloat(document.getElementById('orderSum').value) + platnoscKoszt + dostawaKoszt));
		if (document.getElementById('lukas_raty').checked)
		{
			basketModule.validLukasAmount();
		}
	}
}



function sum_basket2(sender)
{
	var inputs = document.getElementById('basketSubmitForm').getElementsByTagName("input");
	var finput = null;
	
	if (sender && sender.id == 'lukas_raty')
	{
		sender.checked = true;
	}
	
	if ( ( document.getElementById('Kurier') ) && ( document.getElementById('Kurier').selected ) )
	{
		if ( document.getElementById('lukas_raty') )
		{
			if (document.getElementById('lukas_raty').checked)
			{
				jQuery('.delivery_personal').hide();
			}
			else
			{
				jQuery('.delivery_personal').show();
			}

			document.getElementById('lukas_raty').disabled = false;
			document.getElementById('lukas_raty_box').style.display = 'table-row';
		}
		
		for ( var i = 0; i < inputs.length; i++ )
			if( inputs[i].name == "payment" )
			{
				if ( finput == null )
					finput = inputs[i];

				if ( document.getElementById( inputs[i].id + '_disabled' ) == null )
				{
					inputs[i].disabled = false;
					document.getElementById( inputs[i].id + '_box' ).style.display = 'table-row';
				}
			}

		if ( document.getElementById('gotowka') )
		{
			if ( document.getElementById('gotowka').checked == true )
				finput.checked = "checked";
			document.getElementById('gotowka').disabled = true;
			document.getElementById('gotowka_box').style.display = 'none';
		}
		
		if ( document.getElementById('montaz') )
		{
			document.getElementById('montaz').checked = false;
			document.getElementById('montaz').disabled = true;
		}

		if( document.getElementById('basketDeliveryAddress') )
			document.getElementById('basketDeliveryAddress').style.display = 'block';
	}
	else
	{
		if ( document.getElementById('lukas_raty') )
		{
			if (document.getElementById('lukas_raty').checked)
			{
				jQuery('.delivery_personal').hide();
				document.getElementById('Kurier').selected = true;
				sum_baske2t();
			}
			else
			{
				document.getElementById('gotowka').checked = true;
				jQuery('.delivery_personal').show();
			}
			document.getElementById('lukas_raty').disabled = false;
			document.getElementById('lukas_raty_box').style.display = 'table-row';
		}
		else
		{
			document.getElementById('gotowka').checked = true;
		}
		
		for ( var i = 0; i < inputs.length; i++ )
			if( inputs[i].name == "payment" )
			{
				inputs[i].disabled = true;
				document.getElementById( inputs[i].id + '_box' ).style.display = 'none';
			}

		if ( document.getElementById('gotowka') )
		{
			document.getElementById('gotowka').disabled = false;
			document.getElementById('gotowka_box').style.display = 'table-row';
		}

		if ( document.getElementById('montaz') )
			document.getElementById('montaz').disabled = false;
			
		if( document.getElementById('basketDeliveryAddress') )
			document.getElementById('basketDeliveryAddress').style.display = 'none';
	}

	var platnoscKoszt = 0;
	var dostawaKoszt = 0;

	if ( ( document.getElementById('montaz') ) && ( document.getElementById('montaz').checked == true ) && basketModule.isAssemblyFree())
	{
		// Gdy wybrano montaż, koszt dostawy jest zerowy
	}
	else
	{
		for ( var i = 0; i < inputs.length; i++ )
		{
			if ( ( inputs[i].name == "payment" ) && ( inputs[i].checked ) )
			{
				platnoscKoszt = parseFloat( document.getElementById( inputs[i].id + '_koszt' ).value );
			}
		}

		dostawaKoszt = parseFloat( document.getElementById( document.getElementById('delivery').value + '_koszt' ).value );
	}

	document.getElementById('orderDeliverySumValue').firstChild.data = roundValue( platnoscKoszt + dostawaKoszt );
	document.getElementById('orderSumValue').firstChild.data = roundValue( parseFloat( document.getElementById('orderSum').value ) + platnoscKoszt + dostawaKoszt );
	if ( ( document.getElementById('orderDeliverySumValue2') ) && ( document.getElementById('orderDeliverySumValue2').firstChild.data ) )
		document.getElementById('orderDeliverySumValue2').firstChild.data = roundValue( platnoscKoszt + dostawaKoszt );	
	if ( ( document.getElementById('orderSumValue2') ) && ( document.getElementById('orderSumValue2').firstChild.data ) )
		document.getElementById('orderSumValue2').firstChild.data = roundValue( parseFloat( document.getElementById('orderSum').value ) + platnoscKoszt + dostawaKoszt );

	if (basketModule.lukas_sim)
	{
		basketModule.lukas_sim.setPrice(roundValue(parseFloat(document.getElementById('orderSum').value) + platnoscKoszt + dostawaKoszt));
		if (document.getElementById('lukas_raty').checked)
		{
			basketModule.validLukasAmount();
		}
	}
	
	// Zoom na mapie
	GoToPositionByText( jQuery('#delivery').val() );
}


function deliverySelect( value )
{
	jQuery("#delivery option[text=" + value +"]").attr('selected', 'selected');
	jQuery.scrollTo('#delivery_box', 500, {})
	jQuery("#delivery_box").effect("highlight", {}, 1000);
	sum_basket2();
}
