/*  
 *  Обработчики: 
 *      #hn01 - версия для печати
 *      #hn02 - работа с flash часами
 *           #hn02_1 - установка времени
 *      #hn03 - перенос значения из селекта в инпут для поиска
 *      #hn04 - раскраска таблиц аэропортов
 *      #hn05 - всплывающие фото для выставок    
 *  
 *  Функции
 *      #fn01 - инициализация js контента для ajax слоя
 *      #fn02 - работа с flash часами
 *           #fn02_1 - обращение к flash часам
 *           #fn02_2 - возврат статуса готовности
 *           #fn02_3 - установка GMT времени  
 *  
 */

var jsReady = false;
var clock_inited = false;
var lang;


$(function(){
    
	// определение языка страницы
    lang = $("html").attr("lang");
    
    // #hn02_1 - установка времени
    var flashvars = {};
    var params = {wmode:"transparent", allowScriptAccess:"always"};
    swfobject.embedSWF("/images/streamline_UTCclock.swf", "utc_clock", "163", "64", "9.0.0", false, flashvars, params);
    
})

// #fn01 - инициализация js контента для ajax слоя
function js_init_page_events(){
    
    $('a.js_print_version')
        .unbind('click')
        .attr('onclick','return false;')
        .click(function(){
            window.print();
        })
    
    // #hn04 - раскраска таблиц аэропортов
    $('table.js_airport')
        .each(function(){
            $('tr:even',this).addClass('odd');
        })

    // #hn05 - всплывающие фото для выставок 
    $('div.js_exhibition .js_exhibition_line:has(.js_image)')
        .each(function(){
            $('a.js_image',this)
                .fancybox({
            		'titleShow'		: false,
            		'transitionIn'	: 'elastic',
            		'transitionOut'	: 'elastic',
            		'speedIn'       : 'fast',
                    'speedOut'      : 'fast'
            	});
        })

    // #hn03 - перенос значения из селекта в инпут для поиска 
    $('select.js_sel_to_inp')
        .change(function(){
            $(this)
                .parents('.search__line:first')
                .find('input[name]')
                .val( $(this).val() )
        })

} // function js_init_page_events


// #fn02_0 - установка переменной готовности js
function pageInit() {
    jsReady = true;
}


// #fn02_1 - обращение к flash часам
function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
} // function thisMovie


// #fn02_2 - возврат статуса готовности
function isReady() {
    
    if ( clock_inited ) return true;
    
    if ( jsReady ){
        
        clock_inited = true;
        
        getServerTime();

        setDefaultTown();

        // #hn02_3 - события изменения города
        $('#js_gmt_town_list li')
            .click( setClockTown );
        
        return true;
        
    } else return false;
    
} // function isReady


// #hn02_2 - установка города по умолчанию
function setDefaultTown(){

    // сохраненный в cookies город
    var def_town_id = $.cookie(lang+'_clock_town') || '';
    
    // запрс города
    var town = $('#js_gmt_town_list li[js_town='+def_town_id+']');
    
    // если город не найден - взять город по умолчанию
    if ( !town.size() )
        town = $('#js_gmt_town_list li.js_default')
        
    // если город не найден - взять первый
    if ( !town.size() )
        town = $('#js_gmt_town_list li:first')
    
    // установить город
    town.each( setClockTown );

}



// #fn02_3 - установка GMT времени 
function getServerTime (){
	
    var server_time = $('#utc_clock_container').attr('js_gmt_time') 
	
    var flash = thisMovie('utc_clock');
    if ( typeof(flash) !== 'undefined' && typeof(flash.timeSync) !== 'undefined'  ) flash.timeSync(server_time);
	
} // getServerTime


// #fn02_4 - установка города
function setClockTown(){
    
    //if ( $(this).find('strong').size() ) return;
    
    $.cookie(lang+'_clock_town',$(this).attr('js_town'));
    
    // сдвиг по GMT
    var shift = $(this).attr('gmt_shift') || 0
    
    // установка сдвига на часах
    var flash = thisMovie('utc_clock');
    if ( typeof(flash) !== 'undefined' && typeof(flash.setGMT) !== 'undefined' ) flash.setGMT(shift);
    
    // снять выделение
    $('#js_gmt_town_list li strong')
        .each(function(){
            $(this)
                .parents('li:first')
                .text( $(this).text() )
        })
    
    // смена города
    $('#js_gmt_selected_town').text( $(this).text() )
    $(this).wrapInner("<strong></strong>")

} // function setClockTown


