document.observe( 'dom:loaded', function () {

	$('marqueDetailId').selectedIndex = $$('#marqueDetailId option' ).pluck( 'text' ).invoke( 'toLowerCase' ).indexOf( 'audi' );
	getModels();

	$('form1').getElements().invoke("observe", "change", function(event) {
		updateSearchCount('form1');
	});

});

function updateSearchCount(formId) {
	var target = baseHref + 'ajax.php';
	var params = 'type=autoSearchCount&'+ $(formId).serialize();

	var myAjax = new Ajax.Request(target,
	{
		method: 'post',
		parameters: params,
		onSuccess: function (request) {
			var data = request.responseText;
			
//			console.log(data);
			if (data != 'false') {
				$(formId +'count').innerHTML = data;
			}
		},
		onFailure: function (request) {
		}
	});
}

function getModels() {
	//marqueDetailId

	var target = baseHref + 'ajax.php';
	var params = 'type=getMarqueModels&id=' + $('marqueDetailId').options[$('marqueDetailId').selectedIndex].value;

	var myAjax = new Ajax.Request(target,
	{
		method: 'post',
		parameters: params,
		onSuccess: function (request) {

			var i;
			for(i = $('model').options.length - 1 ; i >= 0 ; i-- ) {
				$('model').remove(i);
			}

			var outText = request.responseText;
			outText = outText.split(',');

			if ( outText.length > 0 ) {
				for (i = 0 ; i < outText.length ; i++) {

					//alert(outText[i]);
					$('model').options[ $('model').options.length ] = new Option( outText[i], outText[i] );

				}
			}

			updateSearchCount('form1');
		},

		onFailure: function(request) {
			alert( 'request failed, please try again' );
		}
	});
}

/**
 * Checks the search form if postcode is filled out correctly
 */
function checkSearchForm(){
	
	// Regex taken from http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom#Validation
	
	if ( /(GIR ?0AA)|(((A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9]) ?[0-9][ABD-HJLNP-UW-Z]{2})/.test( $( 'postcodeSearch' ).value.toUpperCase() ) ) {
		$( 'form1' ).submit();
		return true;
	} else {
		alert( 'Please enter a valid postcode.' );
		return false;
	}
	
}

