﻿/// <reference path="jquery-1.3.vsdoc.js" />
$(window).ready(function() {

    
    InitResultTools('photos');
    InitResultTools('threads');
    InitResultTools('users');
    InitResultTools('groups');
    InitResultTools('movies');

    $("input[id$=m_inSubmit]").bind('click', searchSubmit)
    $("input[id$=m_inSearchInSubmit]").bind('click', searchSubmit)
    $("input[id$=m_inWhereSearch]").bind('click', searchSubmit) 
    

    dpDatePhotos = new datePanel($("[id*=Photos_divExactDate]"));
    dpDatePhotos.setIsPeriod(true);
    dpDateThreads = new datePanel($("[id*=Threads_divExactDate]"));
    
    dpDateMovies= new datePanel($("[id*=Movies_divExactDate]"));
    dpDateMovies.setIsPeriod(true);
    
    var sWhat;
    var sUrl = window.location.href;
    if(sUrl.indexOf('zdjec') != -1)
        sWhat = 'photos';
    else if(sUrl.indexOf('osob') != -1)
        sWhat = 'users';
    else if(sUrl.indexOf('dyskusji') != -1)
        sWhat = 'threads';
    else if(sUrl.indexOf('filmow') != -1)
        sWhat = 'movies';
    else 
        sWhat = 'groups';
    
    var sDataType = $(document).getUrlParam("dt");
    var sDateFrom = $(document).getUrlParam("from");
    var sDateTo  = $(document).getUrlParam("to");
    var bDateIsAdvenced  = $(document).getUrlParam("adv");
    var iCurrent_index;

    var dpTemp;
    switch (sWhat) {
        case 'threads':
            dpTemp = dpDateThreads;
            iCurrent_index = 1;
            break;  
        case "photos" :
            dpTemp = dpDatePhotos;    
            break;                  
        case 'users':
            iCurrent_index = 2;
            break;
       case 'groups' :
            iCurrent_index = 3;
            break;
       case 'movies' :
            iCurrent_index = 4;
            dpTemp =dpDateMovies
            break;
        default:
            iCurrent_index = 0;
    }
        
    changeCssClassInPeriodMode();
    
    if(sDataType != null)
        dpTemp.setValues(sDateFrom,sDateTo,sDataType,".");  
    
    if(bDateIsAdvenced != null)
    {
        $('span.advanced a', $('[id$=' + sWhat + ']')).click();
    }
    else if (sWhat !=null)
    {
      moveTools(sWhat);
    }
    if($(document).getUrlParam("desc") != null )
        $('[id$=m_chbDescriptionch]').attr("checked","true");
    
    if (iCurrent_index > 0) {
        $('.section').intabs(iCurrent_index);
    }
    // Init Result tools
    function InitResultTools(a_sContainerId) {
        var jqoContainer = $('[id$=' + a_sContainerId + ']');
        createResetButton(jqoContainer);
        $('span.searchInResults a', jqoContainer).bind('click', { jqoContainer: jqoContainer }, searchIn);
        $('input.reset-search', jqoContainer).bind('click', { jqoContainer: jqoContainer }, resetSearch);
        $('span.advanced a', jqoContainer).bind('click', { jqoContainer: jqoContainer }, showAdvanced);
    };
    
    function changeCssClassInPeriodMode() {
    
    if($('#m_inPeriod:checked', $('[id$=Photos_m_fsPeriod]')).val() != null)
    {
        $("[id$=Photos_m_fsPeriod]").toggleClass("search-option time-span");
    }
    if($('#m_inPeriod:checked', $('[id$=Threads_m_fsPeriod]')).val() != null)
    {
        $("[id$=Threads_m_fsPeriod]").toggleClass("search-option time-span");
    }
    $('#m_inPeriod').bind('click', function() {
        var Photos_m_fsPeriod = $("[id$=Photos_m_fsPeriod]");
        if ($(this).is(':checked')) {
            Photos_m_fsPeriod.toggleClass("search-option time-span");
        }
        else {
             Photos_m_fsPeriod.removeClass("search-option time-span");
             Photos_m_fsPeriod.toggleClass("search-option");  
        }
    });
    
    $('#m_inPeriod', $('[id$=Threads_m_fsPeriod]')).bind('click', function() {
        Threads_m_fsPeriod = $("[id$=Threads_m_fsPeriod]");
        if ($(this).is(':checked')) {
            Threads_m_fsPeriod.toggleClass("search-option time-span");
        }
        else {
             Threads_m_fsPeriod.removeClass("search-option time-span");
             Threads_m_fsPeriod.toggleClass("search-option");
        }
    });
    
    };
    
    function searchIn(event) {
        var jqoSearchIn = $('[id$=m_fsWhatIn]', event.data.jqoContainer);
        if (jqoSearchIn.is(':visible')) {
            jqoSearchIn.hide();
            $('input[id$=tbSearchIn]', event.data.jqoContainer).hide();
        }
        else {
            $('[id$=m_divAdvanced]', event.data.jqoContainer).hide();
            jqoSearchIn.show();
            $('input[id$=tbSearchIn]', event.data.jqoContainer).show();
        }
        return false;
    };

    function showAdvanced(event) {
        var jqoAdvanced = $('[id$=m_divAdvanced]', event.data.jqoContainer);
        if (jqoAdvanced.is(':visible')) {
            jqoAdvanced.hide();
            $('input[id$=Submit]', event.data.jqoContainer).hide();
        }
        else {
            jqoAdvanced.show();
            $('[id$=m_fsWhatIn]', event.data.jqoContainer).hide();
            $('input[id$=Submit]', event.data.jqoContainer).show();
        }
        return false;
    };
 
    function resetSearch(event) {
        $('[id$=Results]', event.data.jqoContainer).hide();
        $('[id$=m_divAdvanced]', event.data.jqoContainer).show();
        $('[id$=m_fsWhatIn]', event.data.jqoContainer).hide();
        $('[id$=m_divTools]', event.data.jqoContainer).hide();
        $('input[id$=Submit]', event.data.jqoContainer).show();

        // Clear search inputs
        $(':text', event.data.jqoContainer).val("");
        $('.where :checkbox', event.data.jqoContainer).each(function() {
            this.checked = true;
        });
        return false;
    };


    // Init TimeLines
    $("[class=timeline]").hide();
    if ($(document).getUrlParam("tl") == "true") {
        ShowTimeLine($('[id$=aShowTimeLine]', $('#' + $(document).getUrlParam("what"))));
    }
    /****************************************/
    // Submit search //
    $(".main .search-option input").keypress(function(e) {
        if (e.which == 13) {
            searchSubmit();
            return false;
        }
    });

    function searchSubmit() {
        var sWhat;
        var sWhatUrl;

        if ($('#photos').is(":visible")) {
            sWhat = 'photos';
            sWhatUrl = 'zdjec';
        }
        else if ($('#threads').is(":visible")) {
            sWhat = 'threads';
            sWhatUrl = 'dyskusji';
        }
        else if ($('#groups').is(":visible")) {
            sWhat = 'groups';
            sWhatUrl = 'grup';
        }
        else if ($('#users').is(":visible")) {
            sWhat = 'users';
            sWhatUrl = 'osob';
        }
        else if ($('#movies').is(":visible")) {
            sWhat = 'movies';
            sWhatUrl = 'filmow';
        }

        var jqoContainer = $('#' + sWhat);
        var sQuery = $("input[id$=m_tbSearch]", jqoContainer).val();
        if (sQuery != null) {
            sQuery = sQuery.trim();
        }
        var sSearchIn = $("input[id$=m_tbSearchIn]", jqoContainer).val();
        if (sSearchIn != null && sSearchIn.length > 0) {
            sQuery = sQuery + ' ' + sSearchIn.trim();
        }
        sQuery = sQuery.replace(/ /g, '+');

        var sHref = "/szukaj/" + sWhatUrl + "/query=" + sQuery ;

        // TimeLine visibility
        if ($('#aTimeLine', jqoContainer).next().is(":visible")) {
            sHref += "~tl=true";
        }

        if (sWhat == "photos" || sWhat == "threads") {
            var bInPlaces = $("input[id$=m_chbPlace]", jqoContainer).is(':checked');
            var InObjects = $("input[id$=m_chbObject]", jqoContainer).is(':checked');
            var bInEvents = $("input[id$=m_chbEvent]", jqoContainer).is(':checked');
            var bInAlbums = $("input[id$=m_chbAlbum]", jqoContainer).is(':checked');
            var bInGroups = $("input[id$=m_chbGroup]", jqoContainer).is(':checked');
            
            // Search in places
            if (!bInPlaces) {
                sHref += "~pl=false";
            }

            // Search in objects
            if (!InObjects) {
                sHref += "~ob=false";
            }

            // Search in events
            if (!bInEvents) {
                sHref += "~ev=false";
            }
            
            // Search in album
            if (!bInAlbums) {
                sHref += "~al=false";
            }
            
            // Search in group
            if (!bInGroups) {
                sHref += "~gr=false";
            }
        }
        if(sWhat  == "groups" || sWhat  == "movies"){
            sHref += "~pl=false~ob=false~ev=false~al=false";
        }

        var bInWiderCriteria = $("input[id$=m_chbWiderCriteria]", jqoContainer).is(':checked');
        if(bInWiderCriteria){
            sHref += "~wc=true";
        }
        //ForSale
        if (sWhat == "photos") {
            var bPhotoForSale= $("input[id$=m_chbPhotoForSale]", jqoContainer).is(':checked');
            var bObjectForSale = $("input[id$=m_chbObjectForSale]", jqoContainer).is(':checked');
            
            if (bPhotoForSale){
                sHref += "~pSale=true";
            }
            
            if (bObjectForSale){
                sHref += "~oSale=true";
            }
        }
        if (sWhat == "users") {
            var sLoc = $("input[id$=tbLocalization]", jqoContainer).val();
            if (sLoc !=null && sLoc.length>0){
                sHref += "~uLoc="+sLoc;
            }
        }
        // Search in description
        if ($("input[id$=m_chbDescription]", jqoContainer).is(':checked')) {
            sHref += "~desc=true";
        }

        // Omit this words
        var sOmit = $("input[id$=m_tbExclude]", jqoContainer).val();
        if (sOmit != null && sOmit != "") {
            sOmit = sOmit.replace(/ /g, '+');
            sHref += "~omit=" + sOmit;
        }

        // date without datapanel
        if($("div[id$=divNormalDate]",jqoContainer).length != 0) {
             // Search in dates from
            var sPer1 = $("input[id$=m_tbPeriod1]", jqoContainer).val();
            if (sPer1 != null && sPer1 != "") {
                sHref += "~from=" + sPer1;
            }

            // Search in dates to
            var sPer2 = $("input[id$=m_tbPeriod2]", jqoContainer).val();
            if (sPer2 != null && sPer2 != "") {
                sHref += "~to=" + sPer2;
            }
        }
        //date from datapnel
        if($("div[id$=divExactDate]",jqoContainer).length != 0) {
            var dpTemp;
            switch(sWhat) 
            {
               case "photos" :
                   dpTemp = dpDatePhotos;
                   break;
               case "threads" :
                   dpTemp = dpDateThreads; 
                   break;
               case "movies" :
                   dpTemp = dpDateMovies; 
                   break;
            }
              var dateType = dpTemp.getTypeOfDates();
              var sPer1 = dpTemp.getFromValue();
              var sPer2 = dpTemp.getToValue();
              if(dateType.charAt(0) != 'n')
                  sHref += "~from=" + sPer1;
              if(dateType.charAt(1) != 'n')
                  sHref += "~to=" + sPer2;
              sHref += "~dt=" + dateType;

              sHref += "~adv=true";
        }
        
        // Redirect
        var sAll = path + sHref;
        window.location = sAll;
        
        return false;
    };

    //creating reset button and adding to curent Photopanel
    function createResetButton(a_jqoContainer)
    {
        var divTools = $(a_jqoContainer).find("[id$=m_divToolsSearch]");
        var resetSpan = $(document.createElement('span'));
        resetSpan.attr('class','remove');
        var resetButton = $(document.createElement('a'));
        resetButton.attr('href','javascript:void(0);');
        resetButton.html('Zacznij od nowa');
        resetButton.bind('click', { a_jqoContainer: a_jqoContainer }, resetSearch);
        resetSpan.append(resetButton);
        divTools.append( resetSpan);
    }
});                              // /document.ready

function ShowTimeLine(button) {
    if ($(button).next().is(":visible")) {
        $(button).text("pokaż linię czasu");
        $(button).next().hide();
        DestroySliders($(button).parent());
    }
    else {
        $(button).text("schowaj linię czasu");
        $(button).next().show();
        sPrefix = "";
        if ($('#photos').is(":visible")) {
            sPrefix = 'Photos_';
        }
        else {
            sPrefix = 'Threads_';
        }
        InitSliders($(button).parent(), $("input[id$='" + sPrefix + "m_tbPeriod1']"), $("input[id$='" + sPrefix + "m_tbPeriod2']"));
    }
    return false;
};

function moveTools(panelType)
{

panelType = panelType.substr(0, 1).toUpperCase() + panelType.substr(1);


var searchTools = $('[id$=' + panelType + '_m_divToolsSearch]');
var panelTools = $('[id$=' + panelType + 'Panel_m_divTools]');

searchTools.append(panelTools.find('.remove'));
searchTools.append(panelTools.find('.filters'));
//panelTools.remove();
};
function removePanelTools(panelType)
{
    $('[id$=' + panelType + 'Panel_m_divTools]').remove();
}

