$(document).ready(function() {
    var depCity     = $('#departureCity option:selected').val();
    var destCity    = $('#destinationCity option:selected').val();
    
    if (depCity && !destCity) {
        updateDestCities();
    }
    
    if (depCity && destCity) {
        searchTickets();    
    } 
});

function updateDestCities() {
    var depCity = $('#departureCity option:selected').val();
    $('#destinationCity').attr("disabled", "disabled");
    $('#searchTrainTickets-form-backbutton').attr("disabled", "disabled");   
    var str = $("#searchTrainTickets-form").serialize();
    $.post("/tickets/updatedestcities.html", str, function(data){
        if (data.error) {
            alert("no");
        } else {
            $('#destinationCity option').remove();
            $("#destinationCity").append('<option value="">Выберите город прибытия</option>');
            $.each(data.destCities, function(key) {
                $("#destinationCity").append('<option value="' + data.destCities[key] + '">' + data.destCities[key] + '</option>');
            });
            $('#destinationCity').removeAttr("disabled"); 
        }
        return false;
	}, "json");	
}

function showBackRoute() {
    searchTickets(true);    
}

function searchTickets(back) {

    var depCity     = $('#departureCity option:selected').val();
    var destCity    = $('#destinationCity option:selected').val();
    
    var searchFlag = 0;
    
    if (back) $("#back").val("1");
    if (!back) $("#back").val("");
    
    $("#searchTrainTickets-bronInfo").html("");
    $("#searchTrainTickets-bron").css("display", "none");

    if (depCity && destCity) {
        $("#searchTrain-waiting").css("display", "block");
        $("#searchTrain-tickets").css("display", "none"); 
        $("#searchTrain-error").html("");
        searchFlag = 1;
    } else {
        if (depCity && !destCity) {
            updateDestCities();    
        } else {
            $("#searchTrain-waiting").css("display", "none");
            $("#searchTrain-tickets").css("display", "none");
            $("#searchTrain-error").css("display", "block");
            $("#searchTrain-error").html("Вы не выбрали город отправления и/или назначения.");
        }
    }
    
    if (searchFlag == 1) {
        var str = $("#searchTrainTickets-form").serialize();
    	$.post("/tickets/search_trainprices.html", str, function(data){
    		if(data.error){
    		    $("#searchTrain-error").css("display", "block");
    			$("#searchTrain-error").html(data.error_desc);
    		} else {
                $("#foundTickets-entry-name").html(data.name);
                $("#foundTickets-entry-depTime").html(data.TimeOfDeparture);
                $("#foundTickets-entry-arrTime").html(data.TimeOfArrival);
                $("#foundTickets-entry-wayTime").html(data.TimeOfWay);
                $("#foundTickets-entry-operDays").html(data.OperationDays);
                
                if (data.class1Adult > 1) {$("#foundTickets-entry-class1Adult").html(data.class1Adult+" евро")} else {$("#foundTickets-entry-class1Adult").html("&mdash;")}
                if (data.class1Child > 1) {$("#foundTickets-entry-class1Child").html(data.class1Child+" евро")} else {$("#foundTickets-entry-class1Child").html("&mdash;")}
                if (data.class2Adult > 1) {$("#foundTickets-entry-class2Adult").html(data.class2Adult+" евро")} else {$("#foundTickets-entry-class2Adult").html("&mdash;")}
                if (data.class2Child > 1) {$("#foundTickets-entry-class2Child").html(data.class2Child+" евро")} else {$("#foundTickets-entry-class2Child").html("&mdash;")}
                
                if (data.roundTripDiscount2Class > 1 || data.roundTripDiscount1Class > 1) {
                    if (data.roundTripDiscount1Class > 1) {$("#foundTickets-entry-roundTrip1Class").html(data.roundTripDiscount1Class+" евро");}
                    if (data.roundTripDiscount2Class > 1) {$("#foundTickets-entry-roundTrip2Class").html(data.roundTripDiscount2Class+" евро");}
                    $("#foundTickets-discount").css("display", "block");
                } else {
                    $("#foundTickets-discount").css("display", "none");
                    $("#foundTickets-entry-roundTrip1Class").html("");
                    $("#foundTickets-entry-roundTrip2Class").html("");    
                }
                
                $("#fromTo").val(data.name);
                
                //$("#showFormTickets-button").css("display", "block");
                $("#searchTrain-tickets").css("display", "block");
                $("#showFormTickets-button").css("display", "inline");
                $('#searchTrainTickets-form-backbutton').removeAttr("disabled");
    		}
    		
    		$("#searchTrain-waiting").css("display", "none");
    		
    		return false;
    	}, "json");	
	}
	
}

function showFormTickets() {
    $("#searchTrainTickets-bron").css("display", "block");
    $("#showFormTickets-button").css("display", "none");
    
}

function bron() {
    var class1Adult = $("#class1Adult").val();
    var class1Child = $("#class1Child").val();
    var class2Adult = $("#class2Adult").val();
    var class2Child = $("#class2Child").val();
    
    var depDay = $("#depDay").val();
    var depMonth = $("#depMonth").val();
    var depYear = $("#depYear").val();
    
    var usrName = $("#usrName").val();
    var usrPhone = $("#usrPhone").val();
    var usrEmail = $("#usrEmail").val();
    
    if (class1Adult || class1Child || class2Adult || class2Child) {
    
    } else {
        alert("Для заказа необходимо выбрать хотя бы один билет.");
        return false;
    }
    
    if (depDay && depMonth && depYear) {
    
    } else {
        alert("Вы не указали дату отправления.");
        return false;
    } 
    
    if (usrName && usrPhone) {
    
    } else {
        alert("Пожалуйста, заполните контактную информацию!");
        return false;
    }
     
    if (checkEmail(usrEmail)) {
    
    } else {
        alert("Вы указали неверный e-mail.");
        return false;
    }
        
    $("#searchTrainTickets-bron").css("display", "none");
    var str = $("#searchTrainTickets-bron").serialize();
	$.post("/tickets/bron_trainprices.html", str, function(data){
	   if(data.error){
	       alert('Произошла ошибка при обработке заказа! Повторите попытку либо перезвоните одному из наших менеджеров.');
	   } else {
           $("#searchTrainTickets-bronInfo").html(data.info);
       }
	   return false;    
    }, "json");	
}


function checkEmail(email) {
	return /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/.test(email);
}

