var ajax_url;
var acc_urlencodedname;
var selected;
var date_class;
var arr_ava = new Array();
$(document).ready( function()
{
	selected = 0;
  	ajax_url = get_ajax_url();

    // LINKS
    $("#thumbnail_link").click
    (
       function()
       {
           $("#tab_wrapper > ul").tabs('select',1);
           return false;
       }
    );

    $("#prices_link").click
    (
       function()
       {
           $("#tab_wrapper > ul").tabs('select',2);
           return false;
       }
    );

    //CALENDAR HOVERS
    add_hovers(); //Has to be a function to be able to reapply later (after an ajax redraw)

});
function add_hovers()
{
    $(".price_table tr").each
    (
        function()
        {
            var tmp = $(this);
            tmp.hover
            (
                function()
                {//mouseover
                    tmp.addClass("tr_hover");
                },
                function()
                {//mouseout
                    tmp.removeClass("tr_hover");
                }
            )
        }
    );
    $(".price_table td:not(.noreplace)").each
    (
        function()
        {
            var tmp = $(this);
            tmp.hover
            (
                function()
                {//mouseover
                    $("." + $(this).attr('class')).addClass('td_hover');
                },
                function()
                {//mouseout
                    $(".price_table td").removeClass('td_hover');
                }
            )
        }
    );
}

function choose_price(ava_id, price, date)
{
	date_class = date;
	arr_ava[selected] = ava_id;
	$.ajax({
			   		type: "POST",
			   		dataType: "html",
			 		url: ajax_url,
			 	  	data: "action=add_availability&ava_ids=" + arr_ava.join('-') + "&acc_urlencodedname=" + acc_urlencodedname,
			 	  	success: add_availability
			});
    return false;
}

function add_availability(ava)
{
	$(".price_overview").html(ava);
	selected++;
	if(selected == 1)
	{
		$(".price_table td:not(." + date_class +")").each(
        function()
        {
            $(this).addClass('disabled');
		});
		$(".price_table td:not(." + date_class +") a").click(
        function()
        {
            return false;
        });

        var dateTabsLength = $("#tab_wrapper_photo > ul > li").length;
		for(i=0;i<dateTabsLength;i++)
		{
			$("#tab_wrapper_photo > ul").tabs("disable", i);
		}
    }
    
    $(".book").click(GoToBooking);
}

function GoToBooking()
{
    $.ajax({
        type: "POST",
        dataType: "html",
        url: ajax_url,
        data: "action=save_session&ava_ids=" + arr_ava.join('-') + "&acc_urlencodedname=" + acc_urlencodedname,
        success: function(response) { window.location = '/boeken'; }
    });
    return false;
}

function delete_availability(ava_id)
{
	var index = find_index(arr_ava, ava_id);
    if (index > -1)
    {
        arr_ava.splice(index,1);
        selected--;
        
        $.ajax({
            type: "POST",
            dataType: "html",
            url: ajax_url,
            data: "action=add_availability&ava_ids=" + arr_ava.join('-') + "&acc_urlencodedname=" + acc_urlencodedname,
            success: function(data) 
            { 
                $(".price_overview").html(data);
                $(".book").click(GoToBooking);
            }
        });
        
        if (selected == 0)
        {
            $(".price_table td:not(." + date_class +")").each(
            function()
            {
                $(this).removeClass('disabled');
            });
            
            $(".price_table td:not(." + date_class +") a").unbind("click");
            
            var dateTabsLength = $("#tab_wrapper_photo > ul > li").length;
            for(i=0;i<dateTabsLength;i++)
            {
                $("#tab_wrapper_photo > ul").tabs("enable", i);
            }
        }
    }
    
    return false;
}

function get_ajax_url()
{
	var url = window.location.href.split('/');
	var index = url.length - 1;
	acc_urlencodedname = url[index];
	return "/" + acc_urlencodedname + "/ajax";
}

function strip_non_numeric(str_source)
{
	var str_final = new String(str_source);
    str_final = str_final.replace(/[^0-9]/g, '');

    return str_final;
}

function format_number(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function update_airport()
{
    $('#price_calendar').html('Een moment A.U.B.');
    $.ajax({
                       type: "POST",
                       dataType: "html",
                       url: ajax_url,
                       data: "action=update_airport&int_airport=" + $('#dep_air_id_select').attr('value'),
                       success: update_calendar_div
            });
}
function update_month()
{
    $('#price_calendar').html('Een moment A.U.B.');
    $.ajax({
                       type: "POST",
                       dataType: "html",
                       url: ajax_url,
                       data: "action=update_month&int_month=" + $('#month_select').attr('value'),
                       success: update_calendar_div
            });
}
function update_calendar_div(html)
{
    $('#price_calendar').html(html);
    $("#tab_wrapper_photo > ul").tabs();
    add_hovers(); //Reapply hovers
    $('#month_select').val($('#current_month').text());
}
function show_earlier(cur_date)
{
    $('#price_calendar').html('Een moment A.U.B.');
   $.ajax({
                       type: "POST",
                       dataType: "html",
                       url: ajax_url,
                       data: "action=set_earlier&cur_date=" + cur_date,
                       success: update_calendar_div
            });
}
function show_later(cur_date)
{
    $('#price_calendar').html('Een moment A.U.B.');
   $.ajax({
                       type: "POST",
                       dataType: "html",
                       url: ajax_url,
                       data: "action=set_later&cur_date=" + cur_date,
                       success: update_calendar_div
            });
}