var Submission = {

	Models: new Array(),
	Selected: null,

	AddModel: function( id, make_id, name, selected ) {
		
		if ( selected ) this.Selected = new Array( id, make_id );
		
		if ( typeof this.Models[ make_id ] == "undefined" ) {
			this.Models[ make_id ] = new Array();
		}
		
		this.Models[ make_id ].push( new Array( id, name ) );
		
	},
	
	SelectMake: function ( id ) {
		
		if ( typeof this.Models[ id ] == "undefined" ) {
			this.ModelClearRows( true );
		}
		
		var models = this.Models[ id ];

		for( var i=0; i<models.length; i++ ) {
		
			if ( i == 0 ) this.ModelClearRows();
		
			this.ModelAddRow( models[i][0], models[i][1] );
		
		}
		
	},
	
	CheckMake: function( id ) {
		
		var makes = $( 'makes' ).options;
		
		for( var i=0; i<makes.length; i++ ) {
			if ( makes[i].value == id ) makes[i].selected = true;
			this.SelectMake( id );
		}
		
	},
	
	CheckModel: function ( id ) {
		
		var models = $( 'models' ).options;
		
		for( var i=0; i<models.length; i++ ) {
			if ( models[i].value == id ) models[i].selected = true;
		}
		
	},
	
	ModelAddRow: function( id, name ) {
	
		var models = $( 'models' );
		var option = document.createElement( "OPTION" );
		
		option.innerHTML	= name;
		option.value 		= id;
		
		models.appendChild( option );
	
		if ( models.disabled == true ) models.disabled = false;
	
	},
	
	ModelClearRows: function( add_select ) {
	
		var models = $( 'models' );
		
		models.options.length = 0;
	
		if ( add_select == true ) {
			
			var option = document.createElement( "OPTION" );
			
			option.innerHTML	= "-- Select One --";
			option.value 		= "";
			
			models.appendChild( option );
		
		}
		
		models.disabled = true;
	
	}

}

window.addEvent( 'load', function() {

	$( 'makes' ).addEvent( 'change', function() { Submission.SelectMake( this.value ); } );

	if ( Submission.Selected != null ) {
		Submission.CheckMake( Submission.Selected[1] );
		Submission.CheckModel( Submission.Selected[0] );
	}

} );