/*global $, document */

/** ----------------------------------------------- GLOBAL */

function enableForm(areaName) {	
	jQuery('#' + areaName).removeClass('hiddenContent');
}

function disableForm(areaName) {
	jQuery('#' + areaName).addClass('hiddenContent');
}


/** ----------------------------------------------- REGISTER FORM 2 */


/* Allow/Disallow selection of about vehicule / about vehicule 2 / how long */
function toggleform2OwnCar(e) {
	if (jQuery('#ownNissan1:checked').size() > 0) {
		enableForm('aboutVehiculeArea');
		enableForm('aboutVehicule2Area');
		enableForm('howlongArea');
		//jQuery('#otherMake').trigger('change');
	}
	else {
		disableForm('aboutVehiculeArea');
		disableForm('aboutVehicule2Area');
		disableForm('howlongArea');
	}
}

/* Allow/Disallow selection of own car / about vehicule / about vehicule 2 / how long */
function selectPreviousCarHandler(e) {
	if (jQuery('#previousCar').val().toUpperCase() === "SELECT") {
		disableForm('ownCarAera');
		disableForm('aboutVehiculeArea');
		disableForm('aboutVehicule2Area');
		disableForm('howlongArea');
	}
	else {
		enableForm('ownCarAera');
		toggleform2OwnCar(e);
	}
}

/* Allow/Disallow selection of about vehicule 2 / how long */
function selectAboutVehicule1Handler(e) {
	if (jQuery('#otherMake').val().toUpperCase() === "BRAND" ||
		jQuery('#otherMake').val().toUpperCase() === "SELECT") {
		disableForm('aboutVehicule2Area');
		disableForm('howlongArea');
	}
	else {
		enableForm('aboutVehicule2Area');
		jQuery('#otherMakeModel').trigger('change');
	}
}

/* Allow/Disallow selection of how long */
function selectAboutVehicule2Handler(e) {
	if (jQuery('#otherMakeModel').val().toUpperCase() === "MODEL") {
		disableForm('howlongArea');
	}
	else {
		enableForm('howlongArea');
	}
}

/* Initialisation of the step 2 and 3 of the registration process */
function initRegisterForm2() {
	//jQuery('#previousCar').bind('change', selectPreviousCarHandler);
	jQuery('input.jsOwnCar').bind('click', toggleform2OwnCar);
	//jQuery('#otherMake').bind('change', selectAboutVehicule1Handler);
	//jQuery('#otherMakeModel').bind('change', selectAboutVehicule2Handler);
	//jQuery('#previousCar').trigger('change');
}
function initRegisterForm3() {
	jQuery('input.jsOwnCar').bind('click', toggleform2OwnCar);
	jQuery('#otherMake').bind('change', selectAboutVehicule1Handler);
	jQuery('#otherMakeModel').bind('change', selectAboutVehicule2Handler);
	toggleform2OwnCar();
}




/** ----------------------------------------------- REGISTER YOUR NISSAN FORM */


/* Allow/Disallow selection of engine / version */
function selectModelHandler(e) {
	if (jQuery('#vehiculeModel').val() == null ||
			jQuery('#vehiculeModel').val().toUpperCase() === "SELECT" ||
			jQuery('#vehiculeModel').val().toUpperCase() === "MODEL") {
		
		//disableForm('vehiculeEngineArea');
		disableForm('vehiculeVersionArea');
		disableForm('howLongArea');
	}
	else {
		enableForm('vehiculeEngineArea');
		jQuery('#vehiculeEngine').trigger('change');
	}
}

/* Allow/Disallow selection of version */
function selectVehiculeEngineHandler(e) {
	if (jQuery('#vehiculeEngine').val().toUpperCase() === "SELECT") {
		disableForm('vehiculeVersionArea');
		disableForm('howLongArea');
	}
	else {
		enableForm('vehiculeVersionArea');
		jQuery('#vehiculeVersion').trigger('change');
	}
}

/* Allow/Disallow selection of version */
function selectVehiculeVersionHandler(e) {
	if (jQuery('#vehiculeVersion').val().toUpperCase() === "SELECT") {
		disableForm('howLongArea');
	}
	else {
		var currentTime = new Date();
		var year = currentTime.getFullYear();
		var carYear = parseInt(jQuery('#vehiculeVersion').val(), 0);


		/* if car version is older than 2 years */
		if (year - carYear > 2) {
			enableForm('howLongArea');
		}
		else {
			disableForm('howLongArea');
		}
		
	}
}


/* Initialisation of the step "your nissan" of the registration process */
function initRegisterYourNissanForm() {
	jQuery('#vehiculeModel').bind('change', selectModelHandler);
	jQuery('#vehiculeEngine').bind('change', selectVehiculeEngineHandler);
	jQuery('#vehiculeVersion').bind('change', selectVehiculeVersionHandler);
	jQuery('#vehiculeModel').trigger('change');
}



/* Document's initialisation */
jQuery(document).ready(function() {
	
	if (jQuery('#registerForm2') != null) {
		if (jQuery('#registerForm2').size() > 0) {
			initRegisterForm2();
		}
	}
	if (jQuery('#registerForm3') != null) {
		if (jQuery('#registerForm3').size() > 0) {
			initRegisterForm3();
		}
	}
	
	if (jQuery('#registerYourNissanForm') != null) {
		if (jQuery('#registerYourNissanForm').size() > 0) {
			initRegisterYourNissanForm();
		}
	}
});