if (typeof QuadrigaCars === 'undefined') {
	QuadrigaCars = {}
}

function setDefaultPoolCarConfig() {
	QuadrigaCars.poolCar = {
		selector: 'pool',
		price: 0,
		plan: 0
	}
}

var poolCarSelectorComponent;
var poolCarSelectorText;

$(function() {
	setDefaultPoolCarConfig();
	
	QuadrigaCars.startMode = $('#start-mode')[0].value;
	
	$('#poolcarsdisplay').html($('#poolcars').html());
	
	switch ($('#start-mode')[0].value) {
		case 'club-cars':
			$('#poolcarsdisplay').show();
			
			QuadrigaCars.userConfigMode = parseInt($("#user-config-mode")[0].value);
			
			if (QuadrigaCars.userConfigMode) {
				restorePoolCarsConfig($("#user-config")[0].innerHTML);
			} else {
				ShowPoolChoice('12');
			}
			
			QuadrigaCars.startMode = $('#start-mode')[0].value;
			
			if (QuadrigaCars.poolCar.plan === 0) {
				ShowPoolChoice('12');
			}
			
			break;
			
		case 'your-quadriga':
			QuadrigaCars.userConfigMode = parseInt($("#user-config-mode")[0].value);
			
			if (QuadrigaCars.userConfigMode) {
				restorePoolCarsConfig($("#user-config")[0].innerHTML, false);
			}
			
			QuadrigaCars.startMode = $('#start-mode')[0].value;
			
			break;
	}

	// Add cars thumbs click handlers
	$(".car-link").click(function(){
		ShowCarInfoFast(this.id);
		return false;
	});

});

function restorePoolCarsConfig(config, isShowCarInfo) {
	eval('userConfig = ' + config);
	
	QuadrigaCars = userConfig.quadrigaCars;
	
	QuadrigaCars.startMode = $('#start-mode')[0].value;
	
	// Default value for isShowCarInfo equal TRUE
	if (typeof isShowCarInfo === 'undefined') {
		isShowCarInfo = true;
	}
	
	if (QuadrigaCars.poolCar && QuadrigaCars.poolCar.plan !== 0) {
		isRestoreUserConfig = true;
		
		ShowPoolChoice(QuadrigaCars.poolCar.plan, isShowCarInfo);
		//showPoolCarsSelector(QuadrigaCars.poolCar.selector, isShowCarInfo);
	} else {
		setDefaultPoolCarConfig();
	}
}

function ShowPoolChoice(choice, isShowCarInfo) {
	// Default value for isShowCarInfo equal TRUE
	if (typeof isShowCarInfo === 'undefined') {
		isShowCarInfo = true;
	}
	
	switch (choice) {
		case 'pay-as-you-go':
			//document.getElementById("poolcarsdisplay").style.display = "";
			
			//$('#poolcarsdisplay')[0].innerHTML = poolcarsdisplayContainer;
			
			QuadrigaCars.poolCar.price = 0;
			
			changePoolCarsPlan(choice);
			
			break;
			
		default:
			//$('#poolcarsdisplay')[0].style.display = '';
			
			//document.getElementById("poolcarsdisplay").innerHTML = poolcarsdisplayContainer;
			
			if (isShowCarInfo) {
				showPreviewCars();
			}
			
			changePoolCarsPlan(choice);
			break;
	}
	
	QuadrigaCars.poolCar.plan = choice;
	
	hideCarBackground();
}


function recallPoolCarsPrice() {
	var price = 0;
	
	price = getPoolCarsPrice(QuadrigaCars.poolCar.plan);
	
	QuadrigaCars.poolCar.price = price;
	
	$('#poolcarprice')[0].innerHTML = '&pound;' + price;
	
	return price;
}

function getPoolCarsPrice(plan) {
	var price = 0;
	
	switch (plan) {
		case '12':
			price = 250;
			break;
		case '6':
			price = 300;
			break;
		case '3':
			price = 350;
			break;
		case '15,6':
			price = 1800;
			break;
		case '30,12':
			price = 3000;
			break;
	}
	
	return price;
}

function getPoolCarsHireCharge(plan) {
	var hireCharge = '';
	
	switch (plan) {
		case '12':
			hireCharge = '7 days p.m. incl.';
			break;
		case '6':
			hireCharge = '7 days p.m. incl.';
			break;
		case '3':
			hireCharge = '7 days p.m. incl.';
			break;
		case '15,6':
			hireCharge = '15 days incl.';
			break;
		case '30,12':
			hireCharge = '30 days incl.';
			break;
	}
	
	return hireCharge;
}

function chageNoteWithPlan(plan) {
	$(".clubcars-plan-description").hide();
	switch (plan) {
		case '12':
		case '6':
		case '3':
			$('#pay-monthly-notes').show();
			break;
		case '15,6':
			$('#prepay-15').show();			
			break;
		case '30,12':
			$('#prepay-30').show();
			break;
		case 'pay-as-you-go':
			$('#pay-as-you-go').show();
			break;
	}
}

function changePoolCarsPlan(plan) {
	var price;
	var hireCharge;
	
	QuadrigaCars.poolCar.plan = plan;
	QuadrigaCars.poolCar.price = getPoolCarsPrice(plan);
	
	//hireCharge = getPoolCarsHireCharge(plan);
	
	//$('.row-price.hire-charge').html(hireCharge);
	
	$('.plan-selector').each(function () {
		this.value = plan;
	});
	
	chageNoteWithPlan(plan);
	//changeMilesIncludedWithPlan(plan, QuadrigaCars.poolCar.selector);
}

function showContactForm() {
	if (!document.getElementById('is-show-contact-form')) {
		var formInner = document.getElementById('contactform').innerHTML;
		$("#poolcarsdisplay")[0].innerHTML = formInner + '<span id="is-show-contact-form" style="display: none;"></span>';
		$("#poolcarsdisplay").addClass('no-border');
	}
}

function cancelContactForm() {
	document.getElementById("rightpanel").innerHTML = '';
	
	var poolcarsdisplayContainer = ''; 
	if (QuadrigaCars.poolCar.selector === 'pool') {
		poolcarsdisplayContainer = document.getElementById('poolcars').innerHTML;
	} else {
		poolcarsdisplayContainer = document.getElementById('performancecars').innerHTML;
	}
	
	document.getElementById("poolcarsdisplay").innerHTML = poolcarsdisplayContainer;
	
	$("#poolcarsdisplay").removeClass('no-border');
}

function savePoolCarsConfig() {
	var saveParams = {};
	
	saveParams.saveUserMode = true;
	saveParams.quadrigaCars = QuadrigaCars;
	saveParams.userConfig = $.toJSON(saveParams);
	
	saveParams.hash = $('#user-config-hash')[0].value;
	saveParams.isSendNotification = 0;
	
	$.post('include/save-user-cars.php', saveParams, function(data, textStatus) {
		if (textStatus !== 'success') {
			alert('There was error when save user cars.')
			return;
		}
		
		eval('var responseObject = ' + data);
		
		if (responseObject.success) {
			document.location = $('#base-url')[0].value + 'your-quadriga.php#confirm';
		} else {
			alert('There was error when send request.')
		}
		
		return false;
	});
}

function poolCarsProceedCallback() {
	// Track click in GA
	pageTracker._trackPageview('/clubcars-proceed.php');
	if (typeof(console) != 'undefined')
	{
		console.log('trackPageView(/clubcars-proceed.php)');
	}

	switch (QuadrigaCars.startMode) {
		case 'club-cars':
			savePoolCarsConfig();
			break;
			
		case 'your-quadriga':
			savePoolCarsConfig();
			
			updatePrice();
			changeSelectStep(3);
			
			$('#rightpanel').html('');
			hideCarBackground();
			break;
	}
}

function submitPoolCarsForm() {
	var compliteSendUserNotification  = false;
	var compliteSendInfo  = false;
	
	var form = document.getElementById('quadrigaoptions');
	var params = {};
	
	for (var i = 0; i < form.length; i++) {
		params[form[i].name] = form.elements[i].value;
	}
	
	params.price = QuadrigaCars.poolCar.price;
	params.plan = QuadrigaCars.poolCar.plan;
	
	function callbackAjax() {
		if (compliteSendUserNotification && compliteSendInfo) {
			document.getElementById("poolcarsdisplay").innerHTML = document.getElementById('save-your-details-success-container').innerHTML;
		}
	}
	
	$.post('send-pool-cars-user-notification.php', params, function(data, textStatus) {
		if (textStatus !== 'success') {
			alert('There was error when save user cars.')
			return;
		}
		
		compliteSendUserNotification = true;
		
		callbackAjax();
		
		return false;
	});
	
	$.post('send-pool-cars-info.php', params, function(data, textStatus) {
		if (textStatus !== 'success') {
			alert('There was error when save user cars.')
			return;
		}
		
		compliteSendInfo = true;
		
		callbackAjax();
		
		return false;
	});
}

function showPreviewCars() {
	hideCarBackground();
	$('#rightpanel').empty();
	$('#rightpanel').html($('#club-cars-info').html());
//	$('#rightpanel').append($('#club-cars-info').clone(true).show().children());
	$('#rightpanel #cars-tabs').tabs({
		show: function(event, ui) {
			$(ui.panel).find(".jcarousel").jcarousel({
				vertical: true,
				scroll: 1
			});
		}
	});
}

function ShowCarInfoFast(articleid) {
	var content = $('#car-info-' + articleid).html();
	content += '<div class="back-link">' +
	               '<a href="#" class="textlink" onclick="showPreviewCars(); return false;"><< Back</a>' +
	           '</div>';
	
	$('#rightpanel').html(content);
	
	if (carsBackgrounds[articleid]) {
		var supersizeElements = $('.supersize');
		
		var backgroundColor;
		
		backgroundColor = '#f0f0f0';
		if (QuadrigaCars.startMode === 'club-cars') {
			backgroundColor = '';
		}
		
		for (var i = 0; i < supersizeElements.length; i++) {
			supersizeElements[i].style.background = 'url("upload/images/' + carsBackgrounds[articleid] + '") ' + backgroundColor + ' bottom right no-repeat';
		}
	}
}
