/*
 *  Добавлены анимированные баннеры
 *  @ Kosov Petr {
 */

$(document).ready(function() {
    anibanners.init();
});

var oldBaner = -1;
var currentBaner = 0;

var anibanners = {
    banners: [],
    current: null,
    period: 5000,
    speed: 1500,
    data: {
        /*'kl': ['', '', 'http://poezdka.ru/klm/'],*/
        '6h': ['', '', 'http://poezdka.ru/special/1561/'],
        //'hg': ['Прямые и удобные рейсы в Гонконг!', '', 'http://poezdka.ru/special/1479/'],
        'lot_airlines': ['Отличные цены LOT теперь еще лучше!', 'Покупайте билеты по веб-тарифам LOT на Поездке.ру', 'http://poezdka.ru/special/1536/'],
        'qatar': ['Специальные цены на Мальдивы, Сейшелы, Бали, в Гоа, Коломбо и Катманду.', 'Веб-тарифы Qatar Airways только на Poezdka.ru!', 'http://poezdka.ru/special/1235/'],
        'all': ['', '', 'http://poezdka.ru/special/'],
        /*'etihad_airwaysc': ['Выиграй поездку в Арабские Эмираты!', 'Конкурс от Etihad Airways и Jebel Ali Golf Resort&Spa', 'http://poezdka.ru/etihad/'],*/
        'ural_airlines': ['Летайте из Москвы \'Уральскими Авиалиниями\'', 'Веб-тарифы Уральских Авиалиний на сайте Poezdka.ru', 'http://poezdka.ru/special/1423/'],
        'etihad_airways': ['Получайте удовольствие от полета. Путешествуйте в Индию, Таиланд и Австралию вместе с Etihad Airways.', 'Покупайте билеты Etihad по веб-тарифам на Поездке.ру', 'http://poezdka.ru/special/1436/'],
        //'aeroflot': ['Летайте! Веб-тарифы Аэрофлота на Poezdka.ru!', 'У нас на сайте специальные низкие тарифы Аэрофлота!<br />Бронируйте и покупайте билеты онлайн!', 'http://poezdka.ru/special/1299/'],
        /*emirates*/
        //'malev': ['В Будапешт! Сейчас! Там классно!', 'Покупайте билеты Malev по спецтарифам на Поездке.ру.', 'http://poezdka.ru/special/'],
        'london': ['Летайте в Лондон и через Лондон на British Airways!', 'Веб-тарифы British Airways только на Poezdka.ru!', 'http://poezdka.ru/special/1137/'],
        'sas': ['Скандинавский подход к перелетам. Летайте SAS!', 'Веб-тарифы SAS всегда на Poezdka.ru', 'http://poezdka.ru/special/']/*,
        'af': ['', '', '/10prichin_letet_v_marsel.php'],
        'finnair': ['Летайте в Европу, Азию и Америку через Хельсинки!', 'Покупайте билеты Finnair по веб-тарифам на Poezdka.ru', 'http://poezdka.ru/special/'],*/
        /*'virgin': ['Летайте в Америку на Virgin Atlantic!', 'Веб-тарифы Virgin Atlantic доступны на Poezdka.ru!', 'http://poezdka.ru/special/1272/']      */
    },

    debug: false,  // Зафиксировать баннер >=0

    init: function(period, speed) {
        var self = this;
        self.period = period ? period: self.period;
        self.speed = speed ? speed: self.speed;

        self.generateBanners();
        self.banners = $('.anibanner');
        if (self.banners.length < 1) return false;
    },

    generateBanners: function() {
        var self = this;
        var anibanners = $('.anibanners');
        anibanners.hide();
        $.each(self.data, function(name, banner) {
            $('<div class = "anibanner" />').addClass('b-' + name).append($('<a/>', {
                'href': banner[2],
                'title': banner[0]
            })
            .append($('<div class="anibanner-left" />'))
                .append($('<div class="anibanner-right" />'))
                .append($('<div class="anibanner-logo" />')))
            .append($('<div/>', {
                'class': 'anibanner-text-big', 
                'html': banner[0]
            }))
            .append($('<div/>', {
                'class': 'anibanner-text-small', 
                'html': banner[1]
            })).appendTo(anibanners).click(function(){
                window.location = $('a',$(this)).attr('href');
                return false;
            });
        });
        $.getScript('/templates/nexito/js/jquery.cycle.all.js', function() {
            $(".anibanners").show();
            $(".anibanners").after('<div id="nav">') 
            .cycle({ 
                fx:     'scrollLeft', 
                speed:  'fast', 
                timeout: 3000, 
                pager:  '#nav'
            });
            var bnum = $('.anibanner').length;
            var bwidth = $('.anibanner').width();
            $('#nav').css('padding-left', '' + Math.round((bwidth-bnum*24)/2-24) + 'px');
        });
    }
};

/*
 *  @ Kosov Petr }
 */

function setv(id, value) {
    window.document.getElementById(id).value = value;
}
function open_cal_win(sto) {
    var newwin = window.open('../inc/calendar.php?sto=' + sto, 'temp', 'height=230, width=310, toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=0,resizeable=0');
}
function open_cal_win_scroll(sto, fieldval) {
    var strd = fieldval.value;
    var parts = strd.split('-');
    var selectedmonth = parts[1];
    var selectedyear = parts[2];

    var currdate = new Date();
    var compmonth = currdate.getMonth() + 1;
    var compyear = currdate.getYear();
    if (compyear < 2000) compyear = compyear + 1900;
    var addmonths = 12 * (selectedyear - compyear);
    // alert ('addmonths = '+addmonths); 
    var linkmonth = selectedmonth - compmonth + 1 + addmonths;
    //  alert ('selectedyear = '+selectedyear+' compyear = '+compyear+' addmonths = '+addmonths);
    if ((linkmonth > 0) && (selectedmonth < 13)) var newwin = window.open('../inc/calendarscroll.php?sto=' + sto + '&datechosen=' + strd + "\#" + linkmonth, 'temp', 'height=500, width=310, toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizeable=0');
    else var newwin = window.open('../inc/calendarscroll.php?sto=' + sto, 'temp', 'height=500, width=310, toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizeable=0');
}

function open_air_win(sto) {
    var newwin = window.open('../inc/selpt.php?sto=' + sto, 'temp', 'height=300, width=600, toolbar=1,location=0,directories=0,status=1,menubar=1,scrollbars=1,resizeable=1');
    newwin.focus();
}
function open_air_win_ru(sto) {
    var newwin = window.open('../inc/selpt.php?cntry=RU&sto=' + sto, 'temp', 'height=300, width=600, toolbar=1,location=0,directories=0,status=1,menubar=1,scrollbars=1,resizeable=1');
    newwin.focus();
}
function trim(string) {
    return string.replace(/(^\s+)|(\s+$)/g, "");
}
function open_air_win_cntry(sto, fieldval) {

    var cntryname = fieldval.value;
    var cntryfirst = cntryname.indexOf(",");
    if (cntryfirst == - 1) {
        cntryfirst = cntryname.indexOf("(");
    }
    var cntrylast = cntryname.indexOf(")");
    if (cntrylast != - 1) {
        var passcntryname = cntryname.substring(cntryfirst + 1, cntrylast);
        passcntryname = trim(passcntryname);
    }
    var newwin = window.open('../inc/selpt3.php?sto=' + sto + '&cntryname=' + passcntryname, 'temp', 'height=300, width=600, toolbar=1,location=0,directories=0,status=1,menubar=1,scrollbars=1,resizeable=1');
    newwin.focus();
}
function fillzero(val, num) {
    str = '' + (Math.pow(10, num) + val);
    return str.substr(1);
}
function changeDate(field, step) {
    strd = field.value;
    parts = strd.split('-');
    date = new Date(parts[2], parts[1] - 1, parts[0]);
    date.setDate(date.getDate() + step);
    field.value = fillzero(date.getDate(), 2) + '-' + fillzero(date.getMonth() + 1, 2) + '-' + date.getFullYear();
}

function parseDate(value) {
    var parts = value.split('-');
    var date = new Date();
    if (parts.length == 3) {
        date = new Date(parts[2], parts[1], parts[0]);
    }
    return date;
}

function formatDate(date) {
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    // fix for freaky dates
    date1 = new Date(y, m - 1, d);
    var d = date1.getDate();
    var m = date1.getMonth() + 1;
    var y = date1.getFullYear();
    // end of freaky date fix
    return (d < 10 ? '0' + d: d) + '-' + (m < 10 ? '0' + m: m) + '-' + y;
}

function nextDateCheck(field, nextName) {
    var nextField = field.form.elements[nextName];

    var cur = parseDate(field.value);
    var next = parseDate(nextField.value);
    if (next < cur) {
        cur.setDate(cur.getDate() + 7);
        nextField.value = formatDate(cur);
    }
    $('#'+nextName).trigger('change');
}

//height=200, width=300, toolbar=1,location=0,directories=0,status=1,menubar=1,scrollbars=1,resizeable=1'
if(jQuery) {

    $.extend($.fn, {
        tinyDatepicker: 
        function(method, data) {
            var monthNames = [{
                val : 1, 
                txt : 'Январь'
            },{
                val : 2, 
                txt : 'Февраль'
            },{
                val : 3, 
                txt : 'Март'
            },{
                val : 4, 
                txt : 'Апрель'
            },{
                val : 5, 
                txt : 'Май'
            },{
                val : 6, 
                txt : 'Июнь'
            }, {
                val : 7, 
                txt : 'Июль'
            },{
                val : 8, 
                txt : 'Август'
            },{
                val : 9, 
                txt : 'Сентябрь'
            },{
                val : 10, 
                txt : 'Октябрь'
            },{
                val : 11, 
                txt : 'Ноябрь'
            },{
                val : 12, 
                txt : 'Декабрь'
            }];
            var jYear, jMonth, jDay, jDatePicker, years = [], currentDate;

            var createSelect = function (els, changeHandler) {
                var jSelect=$('<select />'), k=0;
                $.each(els, function(i, el) {
                    if(el) jSelect.append($(new Option(el.txt, el.val)));
                });
                if(changeHandler) jSelect.change(changeHandler);
                return jSelect;
            }; 

            var createSelectDays = function(y, m) {
                var jSelect=$('<select />');
                var n = (m!=2?((m%2)^(m>7))+30:(!(y%400)||!(y%4)&&(y%25)?29:28));  // ;)
                for (var i = 1; i <= n; i++) {
                    jSelect.append($('<option />').val(i).html(i));
                }
                return jSelect;
            };

            var recreateSelectDays = function() {
                if(jDay.length > 0 && jMonth.length > 0 && jYear.length > 0) {
                    var jOldDay = jDay; 
                    jDay = createSelectDays(jYear.val(), jMonth.val()).val(jOldDay.val()).insertBefore(jOldDay); 
                    if($.fn.selectBox) {
                        jOldDay.selectBox('destroy');
                        jDay.selectBox();
                    }
                    jOldDay.remove(); 
                    
                } 
            };

            var formatNumber = function(number){
                return ((number < 10) ? ('0' + number) : number);
            };

            var init = function(input, data) {
                if( navigator.userAgent.match(/iPad|iPhone/i) ) return false;
                if( input.tagName.toLowerCase() !== 'input' ) return false;

                var d = new Date();
                var c = 0;
                for(var y =  ((data && data['maxYear']) ? data.maxYear : d.getFullYear()); y >= ((data && data['minYear']) ? data.minYear : (d.getFullYear() - 90)); y--) years[c++] = {
                    txt : y, 
                    val : y
                };
                currentDate = $(input).val().split('.'); // TODO
                currentDate[0] = currentDate[0] ? currentDate[0] : '';
                currentDate[1] = currentDate[1] ? currentDate[1] : '';
                currentDate[2] = currentDate[2] ? currentDate[2] : '';

                jDatePicker = $('<div class="tiny-datepicker" />');
                jDay = createSelectDays(currentDate[2], currentDate[1]).appendTo(jDatePicker).val(currentDate[0]);
                jMonth = createSelect(monthNames, function (el) {
                    recreateSelectDays();
                }).appendTo(jDatePicker).val(currentDate[1]);
                jYear = createSelect(years, function () {
                    recreateSelectDays();
                }).appendTo(jDatePicker).val(currentDate[2]);
                
                if($.fn.selectBox && !($.browser.msie && (parseInt($.browser.version, 10) < 8))) {
                    jDatePicker.children('select').selectBox();
                }

                $('<img class="ui-datepicker-trigger"' +
                    ' src="/templates/nexito/images/calendar_big.png"' +
                    ' alt="Выберите дату" title="Выберите дату">')
                .click(function () {
                    currentDate = $(input).val().split('.'); 
                    jDay.val(currentDate[0]);
                    jMonth.val(currentDate[1]);
                    jYear.val(currentDate[2]);
                    jDatePicker.dialog({
                        buttons: {
                            "Ok": function() { 
                                $(input).val(formatNumber(jDay.children('option:selected').val()) + '.' 
                                    + formatNumber(jMonth.children('option:selected').val()) + '.' 
                                    + jYear.children('option:selected').val());
                                $(this).dialog("close"); 
                            }
                        } 
                    });
                }).insertAfter($(input));
            }

            switch( method ) {
                case 'value':
                    if( !data ) return $(this).val();
                    $(this).each( function() {
                        setValue(this, data);
                    });
                    break;

                case 'enable':
                    $(this).each( function() {
                        enable(this);
                    });
                    break;

                case 'disable':
                    $(this).each( function() {
                        disable(this);
                    });
                    break;

                case 'destroy':
                    $(this).each( function() {
                        destroy(this);
                    });
                    break;
                case 'init': 
                default:
                    $(this).each( function() {
                        init(this, data ? data : false);
                    });
                    break;

            }

            return $(this);
        }
    });

}

$(document).ready(function() {
    $(".l_date_birth input").addClass('tip');
    $(".l_date_birth input").attr('title','дд.мм.гггг');
    if(!$.browser.msie){
        var d = new Date();
        $('input.tiny-date[value=""]').val('01.01.1975');
        if($.fn.tinyDatepicker) {
            $('input.tiny-date').tinyDatepicker('init',{
                'maxYear' : d.getFullYear() - 1, 
                'minYear' : d.getFullYear() - 99
            });
        }
        $('input.date-passport-end[value=""]').val('01.01.2012');
        if($.fn.tinyDatepicker) {
            $('input.date-passport-end').tinyDatepicker('init',{
                'maxYear' : d.getFullYear() + 35, 
                'minYear' : d.getFullYear()
            }); 
        }
    }
});

