var animSpeed       = 200;
var searchFormId    = '#kitefinder-filter-form';
var searchResultsId = '#kitefinder-search-results';
var ajaxManager     = $.manageAjax.create('kitefinderProfile', { queue: false, cacheResponse: true, abortOld : true, preventDoubleRequests: true });
function loader()
{
    return '<div id="loader"><h3>Loading kites</h3><img src="/site/themes/kitefinder/assets/images/kitefinder/ajax-loader.gif" alt="Loading kites" /></div>';
}
function add_search_filter(id)
{
    if (jQuery('#'+id).length > 0)
    {
        jQuery('#'+id).find('input[type=checkbox]').change(function()
        {
            jQuery('#paginate-offset').val('1');
            dosearch();
        });
    }
}
function dosearch()
{
    if (jQuery(searchResultsId).length > 0)
    {
        var formVars = jQuery(searchFormId).serialize();
        jQuery.manageAjax.add('kitefinderProfile', {
            async: true,
            type: 'POST',
            url: '/en/kites/search',
            dataType: 'html',
            data: formVars,
            beforeSend: function()
            {
                jQuery('body').append(loader());
                jQuery(searchResultsId).animate({'opacity' : 0.6}, 150); 
                jQuery('#loader').center({'transition':0}).animate({'opacity' : 1}, 250);
            },
            success: function(data)
            {
                jQuery(searchResultsId).animate({'opacity' : 1}, 250, function(){
                    jQuery(searchResultsId).html(data);
                    paginate();
                    jQuery("#sort-date").click(function(){
                        sort_date();
                    });
                    jQuery("#sort-comments").click(function(){
                        sort_comments();
                    });
                    setTimeout("remove_loader()", 150);
                });
            }
        });
    }
}
this.tooltip = function(){		
	xOffset = 40;
	yOffset = 5;				
	$("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};
function paginate()
{
    jQuery('.pagination a').click(function(e){
        // Prevent default
        e.preventDefault();
        var page = jQuery(this).attr('rel');
        jQuery('#paginate-offset').val(page);
        dosearch();
    });
};
function remove_loader()
{
    jQuery('#loader').animate({'opacity' : 0}, 450, function(){
        jQuery('#loader').remove();
    });
}
function set_tabs()
{
    if (jQuery("#tabs").length > 0)
    {
        jQuery("#tabs").tabs({cookie:{expires:30}});
    }
}
function sort_date()
{
    jQuery("#sort-by").val('date');
    if (jQuery("#sort-order").val() == 'asc')
    {
        jQuery("#sort-order").val('desc');
    }
    else
    {
        jQuery("#sort-order").val('asc');
    }
    dosearch();
}
function sort_comments()
{
    jQuery("#sort-by").val('totalcomments');
    if (jQuery("#sort-order").val() == 'asc')
    {
        jQuery("#sort-order").val('desc');
    }
    else
    {
        jQuery("#sort-order").val('asc');
    }
    dosearch();
}
function reset()
{
    jQuery("#reset").click(function(){
        jQuery('#reset-field').val('1');
        dosearch();
    });
}
function search_tabs()
{
    jQuery('ul.search-tabs li a').hover(
        function(){
            var currentid = 'txt-' + jQuery(this).attr('rel');
            jQuery('#search-panel p').each(function(){
                if (jQuery(this).attr('id') == currentid) {
                    jQuery(this).css('display', 'block');
                } else {
                    jQuery(this).css('display', 'none');
                }
            });
        },
        function(){
            var oldid = 'txt-' + jQuery('ul.search-tabs li.active a').attr('rel');
            jQuery('#search-panel p').each(function(){
                if (jQuery(this).attr('id') == oldid) {
                    jQuery(this).css('display', 'block');
                } else {
                    jQuery(this).css('display', 'none');
                }
            });
        }
    );
    jQuery('ul.search-tabs li a').click(function(){
        var currentid = 'txt-' + jQuery(this).attr('rel');
        jQuery('#search-panel p').each(function(){
            if (jQuery(this).attr('id') == currentid) {
                jQuery(this).css('display', 'block');
            } else {
                jQuery(this).css('display', 'none');
            }
        });
    });
}
function budget_slide()
{
    jQuery("#budget-slide").slider({range: true, min: 0, max: 3000, step: 10, animate: true, values: [0, 3000]});
    var minbudget = parseInt(jQuery('#budget-amount-min').val());
    var maxbudget = parseInt(jQuery('#budget-amount-max').val());
    jQuery("#budget-slide").slider("option", "values", [minbudget,maxbudget]);
    jQuery("#budget-slide").bind("slidechange", function(event, ui) {
        name = jQuery(this).attr('id');
        jQuery('#budget-amount-min').val(ui.values[0]);
        jQuery('#budget-amount-max').val(ui.values[1]);
        jQuery('#paginate-offset').val('1');
        dosearch();
    });
    jQuery("#budget-currency").change(function(){
        if (parseInt(jQuery('#budget-amount-min').val()) == 0)
        {
            jQuery('#budget-amount-min').val(10);
        }
        dosearch();
    });
}
function set_search_prices()
{
    if (jQuery("#price-currency").length > 0)
    {
        jQuery("#price-currency").change(function(){
            search_prices();
        });
    }
    if (jQuery("#price-type").length > 0)
    {
        jQuery("#price-type").change(function(){
            search_prices();
        });
    }
    if (jQuery("#price-size").length > 0)
    {
        jQuery("#price-size").change(function(){
            search_prices();
        });
    }
}
function search_prices()
{
    jQuery.ajax({
        'url' : '/en/kites/search_prices',
        'type' : 'post',
        'data' : jQuery('#budget-search-form').serialize(),
        'success' : function(data)
        {
            jQuery('#budget-search-results').html(data);
        }
    });
}
jQuery(document).ready(function() {
    jQuery(".filter-slide").slider({range: true, min: 0, max: 100, animate: true, values: [0, 100]});
    jQuery(".filter-slide").each(function(){
        var name = jQuery(this).attr('id');
        if (name.length > 0)
        {
            var min  = parseInt(jQuery('#'+name+'-amount-min').val());
            var max  = parseInt(jQuery('#'+name+'-amount-max').val());
            jQuery(this).slider("option", "values", [min,max]);
        }
    });
    jQuery(".filter-slide").bind("slidechange", function(event, ui) {
        name = jQuery(this).attr('id');
        jQuery('#'+name+'-amount-min').val(ui.values[0]);
        jQuery('#'+name+'-amount-max').val(ui.values[1]);
        jQuery('#paginate-offset').val('1');
        dosearch();
    });
    budget_slide();
    jQuery("#search-options").accordion({});
    dosearch();
    tooltip();
    set_tabs();
    search_tabs();
    set_search_prices();
    reset();
});
