jQuery.noConflict();

function clearInpt (inp, inpvalue, type)
{
    var inpid = jQuery('#' + inp);
    if (type=='focus')
    {
	if (inpid.val()==inpvalue) inpid.val('');
    }
    else if (type=='blur')
    {
        if(inpid.val() == '') inpid.val(inpvalue);
    }
}

function initTematicsPanel(countries, main_tems, tematics, budget)
{
    var params = '';    
    if (jQuery('#countries').val() >= 1)
    {
        params = "countries/" + jQuery('#countries').val() + "/";
        jQuery('#section_name').text(jQuery('#countries option:selected').text());
    }
            
    jQuery.ajax( 
    {
        beforeSend: function()
        {                        
            jQuery('#main_tems').val('');
            jQuery('#tematics').val('');
            if (!jQuery('#theme_choice').hasClass('close'))
            {
                jQuery('#PiligrimsStoryTagsLnk').text('Выбор тематики путешествия');
            }
            jQuery("#tematics_content_table").html('<div class="loading">&nbsp;</div>');            
        },
        url: '/ajax/getTematicsPanel/' + params,
        dateType: 'html',
        success: function(message) 
        {                                                                    
            jQuery("#tematics_content_table").empty().append(message); 
        } 
    });
}

function setTematicsFilter(main_tema, tematic)
{    
    
    jQuery('#main_tems').val('');
    jQuery('#tematics').val('');
    jQuery('#prt').css('display', 'none');
    jQuery('#theme_choice').removeClass('close');
    jQuery('#main_tems').val(main_tema);        
    if (tematic)
    {
        jQuery('#tematics').val(tematic);        
        jQuery('#PiligrimsStoryTagsLnk').text(jQuery('#tematicsFilter_' + main_tema).text() + " / " + jQuery('#tematicsFilter_' + main_tema + "_" + tematic).text());
    }
    else
    {
        jQuery('#PiligrimsStoryTagsLnk').text(jQuery('#tematicsFilter_' + main_tema).text());        
    }
    
    jQuery('#BodySrch').submit();
    return true;
}

function removeGalleryImage(e)
{
    parentDiv = jQuery(e.target).parents('.gallery_image_container').remove();                                                        
    jQuery('#gallery_content .clear').remove();                            
    uploadedImages = jQuery('#gallery_content').children('.gallery_image_container');
    uploadedImagesLength = uploadedImages.length;
    var contentToPlace = '';
    if (uploadedImagesLength)
    {
        for (var j = 1; j <= uploadedImagesLength; j++)
        {                                    
            if (j % 3 == 0)
            {                                                                                
                contentToPlace += '<div class="gallery_image_container" style="margin-right: 0px">' + uploadedImages[j-1].innerHTML + '</div>';       
                contentToPlace += '<div class="clear"></div>';
            }
            else
            {                                        
                contentToPlace += '<div class="gallery_image_container">' + uploadedImages[j-1].innerHTML + '</div>';       
            }
        }
        if (uploadedImagesLength % 3 != 0) contentToPlace += '<div class="clear"></div>';
        jQuery('#gallery_content').html(contentToPlace);
        
        jQuery('#gallery_content .delete_gallery_image a').bind('click', removeGalleryImage);
    }
    else
    {
        jQuery('#gallery_content').append('<div class="empty_gallery">Фотографии в галерее отсутствуют</div>');                                
    }
}

jQuery(document).ready(function(){
    
    //Story search form common handling
    if (jQuery('#BodySrch').get(0))
    {
        jQuery('#section_name').text(jQuery('#countries option:selected').text());
        if (jQuery('#tematics').val() >= 1)
        {
            jQuery('#PiligrimsStoryTagsLnk').text(jQuery('#tematicsFilter_' + jQuery('#main_tems').val()).text() + " / " + jQuery('#tematicsFilter_' + jQuery('#main_tems').val() + "_" + jQuery('#tematics').val()).text());
        }
        else if (jQuery('#main_tems').val() >= 1)
        {
            jQuery('#PiligrimsStoryTagsLnk').text(jQuery('#tematicsFilter_' + jQuery('#main_tems').val()).text());
        }
        
        jQuery("#countries").bind("change", function(e) {
            var target = jQuery(e.target);
            jQuery('#main_tems').val('');
            jQuery('#tematics').val('');
            initTematicsPanel(target.val(), jQuery("#main_tems").val(), jQuery("#tematics").val(), jQuery("#budget").val());
        });
        
        jQuery("#BodySrchInp").bind("focus", function(e) {
            var target = jQuery(e.target);            
            if (target.val() == 'Ключевое слово') target.val('');
        });
        
        jQuery('#PiligrimsStoryTagsLnk').bind("click", function(e) {
            var target = jQuery(e.target);
            if (jQuery('#prt').css('display') == 'none')
            {                                                                
                target.text('Скрыть блок выбора тематики');
                target.parent().addClass('close');
                jQuery('#prt').css('display', 'block');
            }
            else
            {
                target.text('Выбор тематики путешествия');
                target.parent().removeClass('close');
                jQuery('#main_tems').val('');
                jQuery('#tematics').val('');                
                jQuery('#prt').css('display', 'none');
            }
        });        
    }
    
    //Users search form common handling
    if (jQuery('#BodySrchUsers').get(0))
    {
        jQuery("#BodySrchUsersInp").bind("focus", function(e) {
            var target = jQuery(e.target);            
            if (target.val() == 'Ключевое слово') target.val('');
        });
        
        jQuery("#town").bind("focus", function(e) {
            var target = jQuery(e.target);            
            if (target.val() == 'Город') target.val('');
        });
    }
    
    //Main page tabs handling
    if (jQuery("#trips ul.main_page_tabs").get(0))
    {
        var tabHrefs = [];
        tabHrefs['lastTrips'] = '/search/story/';
        tabHrefs['popularTrips'] = '/search/story/sort/rated/';
        tabHrefs['bestAuthors'] = '/search/users/sort/rated/';
            
        jQuery("#trips ul.main_page_tabs").tabs({fx: { opacity: "toggle" }});        
        jQuery("#trips ul.main_page_tabs").bind('tabsselect', function(event, ui)
        {
            if (ui.panel.innerHTML == "")
            {            
                jQuery.ajax( 
                {
                    beforeSend: function()
                    {
                        jQuery("#showall").hide();
                        jQuery("#"+ui.panel.id).html('<div class="loading">&nbsp;</div>');
                    },
                    url: '/ajax/getContentBlocks/' + ui.panel.id,
                    dateType: 'html',
                    success: function(message) 
                    {                                            
                        jQuery("#showall").show();
                        jQuery("#"+ui.panel.id).empty().append(message); 
                    } 
                });
            }   
            jQuery("#showall a").attr({href: tabHrefs[ui.panel.id]});
        });
            
        jQuery("#showall a").attr({href: tabHrefs['lastTrips']});
    }
    
    //Gallery tabs handling
    if (jQuery("#trips > ul.gallery").get(0))
    {
        jQuery("#trips > ul.gallery").tabs();        
        jQuery("#trips > ul.gallery").bind('tabsselect', function(event, ui)
        {
            if (ui.panel.innerHTML == "")
            {
                jQuery.ajax( 
                {
                    url: '/gallery/' + ui.panel.id + '/' + jQuery('#story_id').val(),
                    dateType: 'html',
                    success: function(message) 
                    {                                                                                            
                        jQuery("#"+ui.panel.id).empty().append(message); 
                    } 
                });
                                
            }
        });
    }
    
    //Gallery preview tabs handling
    if (jQuery("#trips > ul.gallery_preview").get(0))
    {
        jQuery("#trips > ul.gallery_preview").tabs();        
        jQuery("#trips > ul.gallery_preview").bind('tabsselect', function(event, ui)
        {
            if (ui.panel.innerHTML == "")
            {
                jQuery.ajax( 
                {
                    url: '/gallery/preview_' + ui.panel.id + '/' + jQuery('#story_id').val(),
                    dateType: 'html',
                    success: function(message) 
                    {                                                                                            
                        jQuery("#"+ui.panel.id).empty().append(message); 
                    } 
                });
                                
            }
        });
    }
    
    //Profile handling
    if (jQuery('#user_countries_form').get(0))
    {
        jQuery("#user_countries").bind("change", function(e) {
            var target = jQuery(e.target);            
            if (target.val())
            {
                var form_action = jQuery('#user_countries_form').attr('action');
                jQuery('#user_countries_form').attr({action: form_action + "story_countries/" + target.val()})                
            }
            jQuery('#user_countries_form').submit();
        });
        
    }
    
    //Add form tabs handling
    if (jQuery("ul.add_story_form").get(0))
    {        
        var $tabs = jQuery("ul.add_story_form").tabs();        
        jQuery("ul.add_story_form").bind('tabsselect', function(event, ui)
        {                        
            switch (ui.panel.id)
            {
                case 'addStoryTitle':
                    jQuery('.add_story_section_title').html('<h2>Заголовок путешествия <span class="grey">(шаг 1 из 4)</span></h2>Заголовок путешествия: название, страна, место (особенность), заглавная картинка, дата и тематика.');
                    jQuery('#addStoryFormTip').html('<font class="star">*</font> Поля, отмеченные звездочкой, обязательны для заполнения');
                    jQuery('#navlink_back').hide();
                    jQuery('.bottom_links input').hide();
                    jQuery('#navlink_to').show();
                    break;
                case 'addStoryContent':
                    jQuery('.add_story_section_title').html('<h2>Текст путешествия <span class="grey">(шаг 2 из 4)</span></h2>Наполнение текстовой части и заливка фотографий в редактор.');
                    jQuery('#addStoryFormTip').html('<font class="star">*</font> Обязательный для заполнения блок');
                    jQuery('#navlink_back').show();
                    jQuery('.bottom_links input').show();
                    jQuery('#navlink_to').show();
                    break;                
                case 'addStoryBudget':
                    jQuery('.add_story_section_title').html('<h2>Бюджет путешествия <span class="grey">(шаг 3 из 4)</span></h2>Общий бюджет путешествия и его основные составляющие.');
                    jQuery('#addStoryFormTip').html('Раздел заполняется по желанию');
                    jQuery('#navlink_back').show();
                    jQuery('.bottom_links input').show();
                    jQuery('#navlink_to').show();
                    break;
                case 'addStoryGallery':
                    jQuery('.add_story_section_title').html('<h2>Фотогалерея <span class="grey">(шаг 4 из 4)</span></h2>Наполнение фотогалереи путешествия. Отдельная фотогалерея.');
                    jQuery('#addStoryFormTip').html('Раздел заполняется по желанию');
                    jQuery('#navlink_back').show();
                    jQuery('.bottom_links input').show();
                    jQuery('#navlink_to').hide();
                    break;
                default:
                    break;
            }
            
        });
        
        jQuery('#navlink_back').bind('click', function(event) {
            var selected = $tabs.tabs('option', 'selected');
            $tabs.tabs('select', selected - 1);
        });
        
        jQuery('#navlink_to').bind('click', function(event) {
            var selected = $tabs.tabs('option', 'selected');
            $tabs.tabs('select', selected + 1);
        });
        
        jQuery('#navlink_back').hide();
        jQuery('.bottom_links input').hide();
    }
           
});