/*--------------------------------------*/
/* Airporttaxi ajax form validation    */
/*------------------------------------*/



/* Päivämäärän tarkistus */
/* tarkistetaan palvelimelta, onko aika ok */

/* #datepicker on päivämäärä-inputin id */
/* #date-error on spanin id, johon virheilmoitus tulee */

$(document).ready(function () {
    var validateDate = $('#date-error');
    var t = $('#id_pvm');
    var aika = $('#id_kenttaaika');
    $('.aika').bind("change", function(){
        // piilotetaan edelliset virheet
        validateDate.text('');
        validateDate.fadeIn(100);
        validateDate.removeClass('error');
        $('.error').hide();
        if (t.fader) clearTimeout( t.fader );
        if (t.val() != t.lastPvm || aika.val() != t.lastAika ) {
            if (t.timer) clearTimeout(t.timer);
            validateDate.html('<img class="loader" src="/pics/ajax-loader.gif" height="16" width="16" />');
            t.timer = setTimeout(function () {
                //console.log('Ajax-kutsu lähetetty');
                $.ajax({
                    url: '/validointi/aika/',
                    data: 'pvm=' + t.val() + '&aika=' + aika.val(),
                    dataType: 'json',
                    type: 'get',
                    success: function (j) {
                        if (j.ok == false) {
                            validateDate.addClass('error');
                            validateDate.html(j.msg);
                        } else {
                          validateDate.html("ok");
                          t.fader = setTimeout( function() { validateDate.fadeOut('fast'); }, 4000 )
                        }
                    }
                });

            }, 200);
        t.lastPvm = t.val();
        t.lastAika = aika.val();
        }
    });
});

/* hintakutsu-skripti*/
/*
class=hinta --> kaikki kentät, jotka vaikuttaa hintaan (postinro, hlöt, kuljetustyyppi, alennus)
id=hinta --> se span, johon hinta syötetään
id=hinta-error --> näytetään laske-hinta-animaatio + mahd. virheilmoitukset
*/

$(document).ready(function () {
    var countPrice = $('#hinta-error');
    var priceLocation = $('#hinta');
    var alennusMessage = $('#alennus-message');
    $('.hinta').bind("change", function(){
        var henkilomaara = $('#id_henkilomaara').val();
        var postinumero = $('#id_postinro').val();
        var kuljetustyyppi = $('#id_ktyyppi').val();
        var alennuskoodi = $('#id_alennus').val();
        // tarkistetaan onko kaikilla kolmella pakollisella hintatekijällä joku arvo
        if (henkilomaara!=""&&postinumero!=""&&kuljetustyyppi!="") {
            //console.log('hlo: %d pnro: %d type: %d', henkilomaara, postinumero, kuljetustyyppi);
            var t = this; 
            if (this.value != this.lastValue) {
                if (this.timer) clearTimeout(this.timer);
                countPrice.removeClass('error').html('<img class="loader" src="/pics/ajax-loader.gif" height="16" width="16" />');
                    this.timer = setTimeout(function () {
                    //console.log('Ajax-kutsu lähetetty');
                    $.ajax({
                        url: '/validointi/hinta/',
                        data: 'hlo=' + henkilomaara + '&pnro=' + postinumero + '&ktyyppi=' + kuljetustyyppi + '&alennus=' + alennuskoodi,
                        dataType: 'json',
                        type: 'get',
                        success: function (j) {
                            if (j.ok == false) {
                                countPrice.addClass('error');
                            }
			    if (alennuskoodi!="") {
				alennusMessage.html(j.alennusMessage);
			    }
                            priceLocation.html(j.msg);
                        }
                    });
                }, 200);
            }
        this.lastValue = this.value;
        }
    });
});

