window.addEvent('domready', function() {
    initAjax();
   //friendlyUrl();
    
    step4Karty(); // pio: karty na step4
    step4TerminySzczegoly(); 
    step4Galeria(); // obsluga galerii na step4
    
    initPoradnikNawigation(); // pio: pokaz/ukryj dla poradnika na podstawie klasy TabNawigation / poradnik.tpl i step4.tpl
    initNewsletter2(); // pio: 'dodaj do newsletera' na step3 i step4

    initRezerwacja(); // dotyczy stepu 5
    
    if (document.getElementById('prezentacja')) {
        var p = new Prezentacja({
            containerID: 'prezentacja',
            itemCN: 'prezentacja'
        });
    }
    
    if (document.getElementById('homeleft')) {
    	document.getElementById('homeleft').setStyles({});
    }
    
});


function initAjax(){
    // Ajax.init(((SiteConfig.urlSite) ? SiteConfig.urlSite + 'ajax.php' : 'http://unitur.beta.techweb.pl/ajax.php'), 1);
    // Ajax.start();
    Ajax = new AjaxObj(((SiteConfig.urlSite) ? SiteConfig.urlSite + 'ajax.php' : 'http://unitur.beta.techweb.pl/ajax.php'), 1);
}

function advSearch() {
	if (!document.getElementById('name-search-trigger')) return;
    var adv_search = new Adv_search();
}

function zapytanie() {
    var id = 'table-terminy';
    if (!document.getElementById(id)) return;
    var z = new Zapytanie({
        obszarID: 'table-terminy',
        linkCN: 'button-question'
    });
}

function step4Galeria() {
	var id = 'gallery';
    if (!document.getElementById(id)) return;
    var g = new GalleryStep4(id, {
        bThumbs: 0,
        bStatus: 0        
    });
}

function initBasket() {
	var id = 'wyniki-step3', id2 = 'wyniki-koszyk';
    if (document.getElementById(id) || document.getElementById(id2)) {
        (new Basket()).init();
    }
}

function friendlyUrl() {
	var f = new FriendlyURL(['step1']);
}


function step4TerminySzczegoly() {
	var step4 = document.getElementById('table-terminy');
    if (!step4) return;
    
    var dv = new DetailView('table-terminy');
    dv.init();
}

function initSearch() {
	var id = 'step1';
    if (!document.getElementById(id)) return;
    var s = new SearchEngine.unitur(id, {
        transport: {
            blank: {name: 'dowolny', value: '0'}
        },
        kraj: {
            blank: {name: 'dowolny', value: '0'}                
        },
        wyjazd: {
            blank: {name: 'dowolny', value: '0'}
        },
        kategoria: {
            blank: {name: 'dowolna', value: '0'}
        },
        formElements: { // te pola beda ustawiane z url'a
            step1: ['tripTransport2', 'tripCountryName', 'tripStartflight', 'tripTrip_range', 'tripFrom', 'tripDays', 'tripPrice', 'tripHotel_category', 'tripTransport', 'tripOperator', 'tripBoard', 'trip_onlyLM', 'tripAdults'],
            step1a: []
        }
    }); s.init();
}

function initRezerwacja() {
	var id = 'frm-booking'; 
    var form = document.getElementById(id);
    if (!form) return;

    var przeladowanie = new ReservActualisation(id, {
        stale: ['trip[room_num]'],
        zmienne: { // pokoi moze byc kilka
            room: ['id', 'board_id', 'adult_child', 'infant', 'adult', 'child']
        }
    }); przeladowanie.init();

    var validacja = new Validation.step5(id, {
        stale: [
            {name: 'client[name]', clientName: 'imię', rules: {notNull: 1, onlyLetters: 1}},
            {name: 'client[surname]', clientName: 'nazwisko', rules: {notNull: 1, onlyLetters: 1}},
            {name: 'client[street]', clientName: 'ulica', rules: {notNull: 1}},
            {name: 'client[street_nr0]', clientName: 'nr mieszkania', rules: {notNull: 1}},
            
            {name: 'client[post_code]', clientName: 'kod pocztowy', rules: {notNull: 1, post_code: 1}},
            {name: 'client[city]', clientName: 'miasto', rules: {notNull: 1, onlyLetters: 1}},
            {name: 'client[phone]', clientName: 'telefon kontaktowy', rules: {notNull: 1, number: 1, minSize: 9}},
            {name: 'client[email]', clientName: 'email', rules: {notNull: 1, email: 1}},
            {name: 'regulamin', clientName: 'regulamin', rules: {checked: 1}},
            //{name: 'ochronadanych', clientName: 'ochrona danych', rules: {checked: 1}},
            //{name: 'handlowainformacja', clientName: 'informacje handlowe', rules: {checked: 1}}
        ],
        zmienne: {
            persons: [
                {name: 'name', clientName: 'imię uczestnika', rules: {notNull: 1, onlyLetters: 1}},
                {name: 'surname', clientName: 'nazwisko uczestnika', rules: {notNull: 1, onlyLetters: 1}}
            ]            
        }
    }, {
        submitButtonName: 'booking'
    }); validacja.init();
}

function step4Karty() {
    var tabs = 'tabs';
    if (document.getElementById(tabs)) {    
        var tabSheet = new TabNavigation({
            sNavId: 'tabs',
            sActiveClassName: 'front',
            sDisplayNoneClassName: 'hide',
            bAddClassToParentElement: 1
        });
        tabSheet.init();
    }		
}


function initPoradnikNawigation() {
    var linki = 'przewodnik';
    if (document.getElementById(linki)) {
        var i = 0, id = 'por-menu_';
        while ($(id + i)) {
            console.info(i);
        	var menu = new TabNavigation({
                sNavId: 'por-menu_'+i,
                sActiveClassName: 'front',
                bAddClassToParentElement: 1
            });
            menu.init();
            i++;
        }
    }
    
    if (document.getElementById('por-menu')) {
        var menu = new TabNavigation({
            sNavId: 'por-menu',
            sActiveClassName: 'front',
            bAddClassToParentElement: 1
        });
        menu.init();
    }		
}

function initNewsletter2() {
	var n = new Newsletter();
    n.init();
}


function opinieFormularz() {
	var id = 'opinion-form'; 
    if (!document.getElementById(id)) return;
    var validacja = new Validation.step5('form', {
        stale: [
            {name: 'field_50', clientName: 'czy polecasz ten hotel', rules: {selected: 1}},
            {name: 'field_51', clientName: 'państwa subestie', rules: {notNull: 1}},
            {name: 'field_52', clientName: 'autor', rules: {notNull: 1}},
            {name: 'field_53', clientName: 'wiek', rules: {selected: 1}},
            {name: 'field_54', clientName: 'płeć', rules: {selected: 1}},
            {name: 'field_55', clientName: 'termin podróży', rules: {notNull: 1, dateFormat: '.'}},
            {name: 'field_56', clientName: 'email', rules: {notNull: 1, email: 1}},
            {name: 'field_58', clientName: 'zasady', rules: {checked: 1}}
        ]
    }, {
        submitButtonName: 'btnSubmit'
    }); validacja.init();
}

function opinieFormularzLista() {
    if (!document.getElementById('opinie')) return;
    var links = $('opinie').getElements('p.change-form-list a');
    var fl = new OpinieFormularzLista(links, '_', 'for-');
    
}
