$(document).ready(function() {
    var self = this;

    this.booknow = $('div#book form');   
    this.activeCinema = null;
    
    $('#submit').attr("disabled", true);

    this.booknow.submit(function() {
        window.location.href='/booking_interactive/book/m/'+ $('#film', self.booknow).val() +'///s/' + $('#cinema', self.booknow).val() + '/p/' + $('#time',self.booknow).val();
        return false;
    });

    this.loadBookNowData = function(siteID) {
         $.ajax({
	        url: ('js/data/SitePerformances_' + siteID +".json"),
	        type: 'GET',
	        timeout: 2000,
	        dataType: 'json',
	        error: function() {
		        alert('Error loading json data!');
	        },
	        success: function(json){
                self.activeCinema = json;

		        var output = '<option value="">Select film</option>';
		        for (p in self.activeCinema.film) {
			        output += '<option value=\"' + self.activeCinema.film[p].MasterFilmID + '\">' + self.activeCinema.film[p].FilmTitle + '</option>\n';
		        }
		        $('#film',self.booknow).html(output);
		        $('#film',self.booknow).attr("disabled", false);
	        }
        });

        $('#day',self.booknow).html('<option value="">Select day</option>');
		$('#day',self.booknow).attr("disabled", true);
		$('#time',self.booknow).html('<option value="">Select time</option>');
		$('#time',self.booknow).attr("disabled", true);
		$('#submit',self.booknow).attr("disabled", true);
    }

    $('input.resetButton',self.booknow).click(function() {
        $('#cinema option[value=""]',self.booknow).attr('selected','selected');
        $('#film',self.booknow).html('<option value="">Select film</option>');
		$('#film',self.booknow).attr("disabled", true);
        $('#day',self.booknow).html('<option value="">Select day</option>');
		$('#day',self.booknow).attr("disabled", true);
		$('#time',self.booknow).html('<option value="">Select time</option>');
		$('#time',self.booknow).attr("disabled", true);
		$('#submit',self.booknow).attr("disabled", true);
        self.activeCinema = null;
    });

	$('#cinema',self.booknow).change(function(){
		if($(this).val() != '')
		{
           self.loadBookNowData($(this).val());
		}
		else
		{
            self.activeCinema = null;
			$('#film',self.booknow).attr("disabled", true);
			$('#film',self.booknow).html('<option value="">Select film</option>');
		}		
	});
	$('#film').change(function(){
		if($(this).val() != '')
		{
			var output = '<option value="">Select day</option>';
			for (p in self.activeCinema.film) {
                if(self.activeCinema.film[p].MasterFilmID == $(this).val()) {                
        			for (q in self.activeCinema.film[p].Performances) {
    	    			output += '<option value=\"' + q + '\">' + self.activeCinema.film[p].Performances[q].Dates + '</option>\n';                    
                    }
                    break;
                }
			}
			$('#day',self.booknow).html(output);
			$('#day',self.booknow).attr("disabled", false);
		}
		else
		{
			$('#day',self.booknow).attr("disabled", true);
			$('#day',self.booknow).html('<option value="">Select day</option>');
		}
		$('#time',self.booknow).html('<option value="">Select time</option>');
		$('#time',self.booknow).attr("disabled", true);
		$('#submit',self.booknow).attr("disabled", true);
	});

	$('#day').change(function(){
		if($(this).val() != '')
		{
		    var output = '<option value="">Select time</option>';
			for (p in self.activeCinema.film) {
                if(self.activeCinema.film[p].MasterFilmID == $('#film').val()) {                
                    var q = $(this).val();
           			for (v in self.activeCinema.film[p].Performances[q].Times) {
           				if(self.activeCinema.SiteBookingSystemID!=4)
  	    			    	output += '<option value=\"' + self.activeCinema.film[p].Performances[q].Times[v].TBXPerformanceID + '\">' + self.activeCinema.film[p].Performances[q].Times[v].TBXPerformanceShowTime + '</option>\n';
  	    			    else
  	    			    	output += '<option value=\"' + self.activeCinema.film[p].Performances[q].Times[v].CompesoPerformanceID + '\">' + self.activeCinema.film[p].Performances[q].Times[v].TBXPerformanceShowTime + '</option>\n';
                    }
                    break;
                }
			}
			$('#time',self.booknow).html(output);
			$('#time',self.booknow).attr("disabled", false);
		}
		else
		{
			$('#time').attr("disabled", true);
			$('#time').html('<option value="">Select time</option>');
		}
	});
	
	$('#time').change(function(){
		if($(this).val() != '')
		{
			$('#submit').attr("disabled", false);
		}
		else
		{
			$('#submit').attr("disabled", true);
		}
	});

    if($('#cinema').val()!='') self.loadBookNowData($('#cinema').val());
});

