﻿var fringle_keyword_autocompleteWidth = 245;
var fringle_event_autocompleteWidth = 217;
var fringle_venue_autocompleteWidth = 217;
function calendar_click(el) {
    var o = $('#' + el);
    var d = $('#selected_dates');
    var val = d.val();
    var ds = val.split(',');
    for (var i = 0; i < ds.length; ++i)
    {
        if (el == ds[i])
        {
            o.removeClass('selected');
            val = (0 < i) ? val.replace(',' + el, '') : val.replace(el, '');
            val = (val.charAt(0) == ',') ? val.substr(1) : val;
            d.val(val);
            return false;          
        }
    }
    o.addClass('selected');
    val += (0 < val.length) ? ',' + el : el;
    d.val(val);
    return false;
}
function calendar_clear_dates() {
    var d = $('#selected_dates').val('');
    var days = $('a.calendar_date', $('#fringle_calendar_may'));
    days.removeClass('selected');
    return false;
}
function calendar_set_dates(dates) {
    var d = $('#selected_dates');
    var val = d.val();
    var ds = val.split(',');
    for (var i = 0; i < dates.length; ++i) {
        var found = false;
        var o = $('#' + dates[i]);
        o.addClass('selected');
        for (var j = 0; j < ds.length;  ++j) {
            if (ds[j] == dates[i]) {
                found = true;
            }
        }
        if (!found) {
            val += (0 < val.length) ? ',' + dates[i] : dates[i];
            d.val(val);
        }
    }
    return false;
}

$(function() {

    // Panels
    var searchBar = $('#fringle_panel_1');
    var advancedSearch = $('#fringle_panel_2');
    var moreOptions = $('#fringle_panel_3');
    //moreOptions.toggle();
    //advancedSearch.toggle();
    // end Panels
    // toggle buttons
    var btnToggleAdvanced = $('#btnToggleAdvanced');
    btnToggleAdvanced.click(function() {
        advancedSearch.toggle();
        //                if (advancedSearch.is(':hidden')) {
        //                    advancedSearch.slideDown('fast');
        //                }
        //                else {
        //                    advancedSearch.slideUp('fast');
        //                }
    });
    var btnCloseAdvancedSearch = $('#btnCloseAdvancedSearch');
    btnCloseAdvancedSearch.click(function() {
        advancedSearch.toggle();
    });
    var btnToggleMoreOptions = $('#btnToggleMoreOptions');
    btnToggleMoreOptions.click(function() {
        moreOptions.toggle();
        //                if (moreOptions.is(':hidden')) {
        //                    moreOptions.slideDown('fast');
        //                }
        //                else {
        //                    moreOptions.slideUp('fast');
        //                }
    });
    var btnCloseMoreOptions = $('#btnCloseMoreOptions');
    btnCloseMoreOptions.click(function() {
        moreOptions.toggle();
    });
    // end toggle buttons
    // keywords
    var hiddenKeywordsField = $('#keyId', searchBar);
    var keywordsInput = $("input.fringe-main-search", searchBar);

    keywordsInput.focus(function() {
        if ($(this).val() == 'Enter your keyword to search Fringe listings') $(this).val('');
    });
    //    keywordsInput.autocomplete('/ticketing/search/ajaxhandlers/KeywordsHandler.ashx', {
    //        width: fringle_keyword_autocompleteWidth,
    //        autoFill: false,
    //        formatItem: function(row, i, max) {
    //            return row["text"];
    //        },
    //        parse: autocompleteJSON,
    //        dataType: "json"

    //    }).result(function(event, data, formatted) {
    //        $(hiddenKeywordsField).val(data.id);
    //    });
    // end keywords
    // venue
    var hiddenVenueCodeField = $('#vnId', advancedSearch);
    var venueInput = $("input.venue-title-v", advancedSearch);

    venueInput.focus(function() {
        if ($(this).val() == 'Enter venue') $(this).val('');
    });

    venueInput.autocomplete('/ticketing/search/ajaxhandlers/VenueHandler.ashx', {
        width: fringle_venue_autocompleteWidth,
        autoFill: false,
        formatItem: function(row, i, max) {
            return row["text"];
        },
        parse: autocompleteJSON,
        dataType: "json",
        minChars: 2,
        delay: 200

    }).result(function(event, data, formatted) {
        document.forms[0].elements['vnId'].value = data.id;
        document.forms[0].elements['vnText'].value = data.text;
        //alert(document.forms[0].elements['vnId'].value);
        //$(hiddenVenueCodeField).val(data.id);
        //alert($(hiddenVenueCodeField).val());
    });
    // end venue
    // event
    var hiddenEventCodeField = $('#evId', advancedSearch);
    var eventInput = $("input.event-title-v", advancedSearch);

    eventInput.focus(function() {
        if ($(this).val() == 'Enter event') $(this).val('');
    });

    eventInput.autocomplete('/ticketing/search/ajaxhandlers/EventHandler.ashx', {
        width: fringle_event_autocompleteWidth,
        autoFill: false,
        formatItem: function(row, i, max) {
            return row["text"];
        },
        parse: autocompleteJSON,
        dataType: "json",
        minChars: 2,
        delay: 200

    }).result(function(event, data, formatted) {
        document.forms[0].elements['evId'].value = data.id;
        document.forms[0].elements['evText'].value = data.text;
        //$(hiddenEventCodeField).val(data.id);
    });
    //end event

    // autocomplete handler
    function autocompleteJSON(data) {
        var parsed = [];
        for (var i = 0; i < data.length; i++) {
            var row = data[i];
            parsed.push({
                data: row,
                value: row["text"],
                result: row["text"]
            });
        }
        return parsed;
    }
    // end autocomplete handler

    // weekends selector //
    //var weekendsSelector = $('input:checkbox', $('.weekendsSelector', moreOptions));
    //weekendsSelector.click(function() { alert(this.attributes["Days"); });
    // end weekends selector //
});        
