var pager_result_container = "#result_"
var hidden_tab_index = -1
var __map__
var __latitude__
var __longtitude__

//--------------------------------------------
//--    DATE:23/09/2009                     --
//--    Author:Djmen                        --
//--------------------------------------------

function callback(hash)
{
 away_hash = location.hash.replace("#",'');
 if(hash || away_hash)
 {
    reg_ap  = /^article(\d+)$/;
    reg_pp  = /programms(\d+)i(\d+)/;
    reg_tab = /^tab-(\d)+/;
    reg_prg = /^programme(\d+)$/
    var tegA;
    var url;

    if(reg_ap.test(hash))
    {
        arr = reg_ap.exec(hash);
        tegA = $('a[href^="/article/'+arr[1]+'i"]');
    }
    else if (reg_pp.test(hash))
    {
        arr = reg_pp.exec(hash);
        tegA = $('a[href^="/programmes/'+arr[1]+'/?id='+arr[2]+'"]');
    }
    else if (reg_tab.test(hash))
    {
        arr = reg_tab.exec(hash);        
        $('#cc_body').tabs('select',arr[1]-1);
        //alert('DEBUG');
        return true;
    }
    else if (reg_tab.test(away_hash))//for safari
    {
        arr = reg_tab.exec(away_hash);
        $('#cc_body').tabs('select',arr[1]-1);        
        return true;
    }
    else if (reg_prg.test(hash))
    {
        arr = reg_prg.exec(hash);

        $('#hiddenRefreshableTab').empty();
        var spinner = "<center><img src='/static/img/ajax-loader-search.gif' style='margin-top:30px;'/></center>"
        $('#hiddenRefreshableTab').prepend(spinner);

        $('#cc_body').tabs('select',hidden_tab_index);
        $.get('/ajax_load/programme/'+arr[1]+'/', function(data){
             $('#hiddenRefreshableTab').empty();
             $('#hiddenRefreshableTab').prepend(data);
        });
        return true;
    }
    

    if(!tegA.attr('href'))
        return false;

    $('.tips_n_hinst_mi_container a').each(function(){
                $(this).removeClass();
                $(this).addClass('tips_n_hinst_mi_launcher_passive');
            });
    tegA.removeClass();
    tegA.addClass('tips_n_hinst_mi_launcher_active');
    $('#hiddenRefreshableTab').empty();
    var spinner = "<center><img src='/static/img/ajax-loader-search.gif' style='margin-top:30px;'/></center>"
    $('#hiddenRefreshableTab').prepend(spinner);

    $('#cc_body').tabs('select',hidden_tab_index);
    $.get('/ajax_load'+tegA.attr('href'), function(data){
        $('#hiddenRefreshableTab').empty();
        $('#hiddenRefreshableTab').prepend(data);
    });
 
  }
}


function getUrlParam( name, url )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( url );
  if( results == null )
    return "";
  else
    return results[1];
}

$(document).ready(
    function()
    {
       $.history.init(callback);  //
       $('#cc_body').tabs({spinner:'Загрузка...', fxFade:true, cache: true});
       hidden_tab_index = $('#cc_body').tabs('length') - 1
       
       if (typeof($('#cc_body').tabs('option', 'selected').text) !== 'undefined')
           $('#tab_caption_stick').prepend('<span>'+ $('#cc_body').tabs('option', 'selected').text +'</span>');
       

       $('#cc_body').bind('tabsshow', function tabupdat(event, ui){

           if(String(ui.tab).replace(/^.*#/, '') == 'country' && typeof tabupdat.flag_first == 'undefined')
           {
              GoogleMap("reload");
              tabupdat.flag_first = false;
           }
       });

       //------------------------------------
       //--                                --
       //--    Клик по табу                --
       //--                                --
       //------------------------------------
       $('#cc_body').bind('tabsselect', function(event,ui){
                     
           $.cookie('lastTabClicked', ui.index);
           if (ui.index != hidden_tab_index)
           {
                var newhash;
		if ($.browser.safari )
                {
			newhash = 'tab-'+(ui.index+1);
                        location.hash = newhash;
		} 
                else if(location.hash != '#' + 'tab-'+(ui.index+1))
                {
			newhash = '#' + 'tab-'+(ui.index+1);
			location.hash = newhash;
		}             
              

                
                // window.resizeBy(0, -1);
               // window.resizeBy(0, 1);
              

                $('.tips_n_hinst_mi_container a').each(function(){
                    $(this).removeClass();
                    $(this).addClass('tips_n_hinst_mi_launcher_passive');
                });
                if (ui.tab.text){
                    $('#tab_caption_stick').empty();
                    $('#tab_caption_stick').prepend('<span>'+ ui.tab.text +'</span>');
                }
           }
       });

       $('.main_menu_options_selector').click(function(){
            if (this['isOpen']){
                $('.menu_item_options_list_open').removeClass().addClass('menu_item_options_list_closed');
                this['isOpen'] = false;
            }else{
                $('.menu_item_options_list_closed').removeClass().addClass('menu_item_options_list_open');
                this['isOpen'] = true;
            }
        });
        
        //------------------------------------
        //--                                --
        //--    Клик по пункту левого меню  --
        //--                                --
        //------------------------------------
        $('.tips_n_hinst_mi_container a').click(function(){
            var reg_sp=/^\/article\/(\d+)i/                     // Выбран шит пайдж
            var reg_pp=/^\/programmes\/(\d+)\/\?id=(\d+)/	// Выбран программс пайдж
            var hash;

            if(reg_sp.test($(this).attr('href')))
            {
                arr=reg_sp.exec($(this).attr('href'));
                hash = "article"+arr[1];
            }
            else if (reg_pp.test($(this).attr('href')))
            {
                arr=reg_pp.exec($(this).attr('href'));
                hash = "programms"+arr[1]+'i'+arr[2];
            }           
            
            $.history.load(hash);
            return false;
        });
    });


function noteLoad(id){
    $('#hiddenRefreshableTab').empty();
    var spinner = "<center><img src='/static/img/ajax-loader-search.gif' style='margin-top:30px;'/></center>"
    $('#hiddenRefreshableTab').prepend(spinner);
    $('#cc_body').tabs('select',hidden_tab_index);
    $.get('/notes/'+id+'/ajax/', function(data){
        $('#hiddenRefreshableTab').empty();
        $('#hiddenRefreshableTab').prepend(data);
    });
    return false;
}

function loadNoteEditForm(){
    $('#hiddenRefreshableTab').empty();
    var spinner = "<center><img src='/static/img/ajax-loader-search.gif' style='margin-top:30px;'/></center>"
    $('#hiddenRefreshableTab').prepend(spinner);
    $('#cc_body').tabs('select',hidden_tab_index);
    $.get('/notes/add/',{'country_id':__COUNTRY__, 'region_id':__REGION__,'hotel_id':__HOTEL__,'place_id':__PLACE__}, function(data){
        $('#hiddenRefreshableTab').empty();
        $('#hiddenRefreshableTab').prepend(data);
    });
    return false;
}

function getLastClickedTab()
{
    if ($.cookie('lastTabClicked') && $.cookie('lastTabClicked') != 0 )
        return $.cookie('lastTabClicked')
    else
        return 1;
}


function PageClick(pageclickednumber, pagecount, sender)
{
    pager_result_container += sender;
    $("#pager_"+sender).pager({ pagenumber: pageclickednumber, pagecount: pagecount,tabKey: sender, buttonClickCallback: PageClick });
    $.get("/pager_data_provider/",{'page':pageclickednumber,'sender':sender} ,function(data){$("#result_"+sender).html(data);});
}

function loadProgramme(href){
    var reg_prog = /^\/programmes?\/(\d+)\/(\?id=)?(\d+)?$/;
    arr = reg_prog.exec(href);

    if(arr[3])
    {
        $.history.load('programms'+arr[1]+'i'+arr[3]);
    }
    else
    {
        $.history.load('programme'+arr[1]);
    }
}

function ResetAjaxPostFix(href)
{
    href.href = href.href.replace(/ajax$/, '');
    href.href = href.href.replace(/ajax\/$/, '');
}




function GoogleMap(oper_type, capital_latitude, capital_longtitude, google_maps_zoom)
{
    if(oper_type == "init")
    {
        if (GBrowserIsCompatible())
        {
                __map__ = new GMap2(document.getElementById("map_canvas"));
                __map__.setCenter(new GLatLng(capital_latitude, capital_longtitude), google_maps_zoom);
            var mapTypeControl = new GMapTypeControl();
            var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
            var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
            __map__.addControl(mapTypeControl, topRight);
            GEvent.addListener(__map__, "dblclick", function() {
              __map__.removeControl(mapTypeControl);
              __map__.addControl(new GMapTypeControl(), bottomRight);
            });
            __map__.addControl(new GSmallMapControl());
            __latitude__ = capital_latitude;
            __longtitude__ = capital_longtitude;

        }

    }
    else if(oper_type == "reload")
    {
        if (typeof(__map__) != 'undefined')
        {
          __map__.checkResize();
          //alert(__latitude__ + ", "+__longtitude__);
          __map__.panTo(new GLatLng(__latitude__, __longtitude__));
        }
       
    }
}

