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>Bezig met laden</h3><img src="/site/assets/images/kitefinder/ajax-loader.gif" alt="Bezig met laden" /></div>';
}
function add_search_filter(id)
{
    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: '/nl/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-score").click(function(){
                        sort_score();
                    });
                    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(){
        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_score()
{
    jQuery("#sort-by").val('score');
    if (jQuery("#sort-order").val() == 'asc')
    {
        jQuery("#sort-order").val('desc');
    }
    else
    {
        jQuery("#sort-order").val('asc');
    }
    dosearch();
}
function show_beginner()
{
    jQuery("#show-beginner").click(function(){
         jQuery("#vaarstijl-2").attr('checked', 'checked');
         dosearch();
    });
}
function reset()
{
    jQuery("#reset").click(function(){
        jQuery('#reset-field').val('1');
        dosearch();
    });
}
function vote() {
    $('.star-normal').hover(
        // Handles the mouseover
        function() {
            $(this).prevAll().andSelf().addClass('star-vote');
            $(this).nextAll().removeClass('star-vote');
        },
        // Handles the mouseout
        function() {
            $(this).prevAll().andSelf().removeClass('star-vote');
            set_votes($(this).parent());
        }
    );
    $('.star-normal').bind('click', function() {
        var star   = this;
        var widget = $(this).parent().parent(); 
        var data   = {
            score : $(star).attr('id'),
            reviewid : widget.attr('id')
        };
        $.post(
            '/nl/kites/vote',
            data,
            function(INFO) {
                alert(INFO);
            }
        );
    });
}
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  = jQuery('#'+name+'-amount-min').val();
            var max  = 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();
    });
    jQuery("#search-options").accordion({
        autoHeight: false, 
        navigation: true, 
        change: function(event, ui){
            filter = jQuery("#search-options h3[aria-expanded=true] a").attr('href');
            document.location.hash = filter;
        }
    });
    dosearch();
    tooltip();
    set_tabs();
    show_beginner();
    reset();
    vote();
});
