var swedishDays = {
    Mån:'Mon',
    Tis:'Tue',
    Ons:'Wed',
    Tor: 'Thu',
    Fre: 'Fri',
    Lör: 'Sat',
    Sön: 'Sun'
};
var datepickerAllowedDay = ['', '', ''];

$(document).ready(function()
{    
    $('#nav').show();
    $("#go1").toggle(function()
    {
        $("#nav").animate( {
            left:"+=732px"
        }); // Show booking form
    },
    function()
    {
        $("#nav").animate( {
            left:"-=732px"
        });
    });

    // Make hover on booking button
    $("#navSwitch").hover(function ()
    {
        $("#bokaToggle").attr("src", $.config.sitespecific +
            "/images/btn_boka_hover.gif");
    },
    function ()
    {
        $("#bokaToggle").attr("src", $.config.sitespecific +
            "/images/btn_boka.gif");
    });

    $("#datepicker1").datepicker($.extend({},
        $.datepicker.regional["sv"], {
            showAnim: "slide",
            showOptions: {
                direction: "up"
            },
            showStatus: true,
            showOn: "both",
            beforeShowDay: doBeforeDay1,
            buttonImage: $.config.sitespecific + "/css/images/calendar.png",
            buttonImageOnly: true
        }));
			     
    $('#datepicker1').datepicker('disable');
			
    $("#datepicker2").datepicker($.extend({},
        $.datepicker.regional["sv"], {
            showAnim: "slide",
            showOptions: {
                direction: "up"
            },
            showStatus: true,
            showOn: "both",
            beforeShowDay: doBeforeDay2,
            buttonImage: $.config.sitespecific + "/css/images/calendar.png",
            buttonImageOnly: true
					 
        }));
         
    $('#datepicker2').datepicker('disable');

    $("#datepicker3").datepicker($.extend({},
        $.datepicker.regional["sv"], {
            showAnim: "slide",
            showOptions: {
                direction: "up"
            },
            showStatus: true,
            showOn: "both",
            beforeShowDay: doBeforeDay3,
            buttonImage: $.config.sitespecific + "/css/images/calendar.png",
            buttonImageOnly: true
        }));

    $('#datepicker3').datepicker('disable');


    // Send configuration
    var options = {
        target:     '#output',   // target element(s) to be updated with server response
        success:    showResponse,  // post-submit callback
        dataType:   'json'
    };

    // Inti ajaxforms
    $('#form1').ajaxForm(options);
    resetForm(); 
    // Init variable for last choice in skola dropdown
    $.current = null;

    // Register callbak for skola dropdowm
    $('#typ').change(onchange_typ);
    $('#buss').change(onchange_buss);
    $('#skolform').change(onchange_skolform);

    // Display special options for busses
    function onchange_buss()
    {
        if($('#buss').attr('checked'))
        {
            // element som inte är synliga är satta med  disabled="disabled"
            // för att dessa inte ska postas som onödig data
            $(".busstider").show();
            $('.busstider :input').removeAttr('disabled');

            $("#buss_adress").slideDown();
            $('#buss_adress :input').removeAttr('disabled');

        }
        else
        {
            // ta bort disabled="disabled" få att elementen går att förändra
            $(".busstider").hide();
            $('.busstider :input').attr('disabled', true);
            $('#buss_adress :input').attr('disabled', true);

            $("#buss_adress").slideUp();
        }
    }

    function onchange_skolform()
    {
        if(this.value == 'kommunal')
        {
            $("#visa_buss").slideDown();
        }
        else
        {
            $('#visa_buss').slideUp();
        }
    }
       
    function resetForm()
		{             
			//alert('resetting form');
			   $("*").removeClass("errorField");  
				$("#responseText").html("");
				
				// Reset dropdown
				//var field = $('#skolform');
				//field.val($('option:first', field).val());
				
				resetDropdown($('#skolform'));
				resetDropdown($('#1_onskemal')); 
				resetDropdown($('#2_onskemal'));   
				resetDropdown($('#3_onskemal'));   
				
				$.current = this.value; 
        $('#skolform').attr('disabled', true);
				$('.free-times :input').attr('disabled', true);
        $('.fixed-times :input').attr('disabled', true);
				

        $(".valbar").hide();
        
        $('#datepicker1').datepicker('disable');
        $('#datepicker2').datepicker('disable');
        $('#datepicker3').datepicker('disable');
        

        $('#datepicker1').val('');
        $('#datepicker2').val('');
        $('#datepicker3').val('');
			
		}
		
    // Display special options for skolbokningar
    function onchange_typ()
    {             
			 
			 resetForm();  
			  

        if(this.value == 'other')
        {    
            $("#pass").show("slow");
            $(".free-times").show("slow");
            $('.free-times :input').removeAttr('disabled');
		        $(".free-times").attr("style", "display: block;");     // IE8 Bugfix
		
            $('#datepicker1').datepicker('enable');
            $('#datepicker2').datepicker('enable');
            $('#datepicker3').datepicker('enable');
        }

        if(this.value == 'forskola')
        {
            $("#pass").slideDown("slow");
            $("#fika").slideDown("slow");
            $("#val_skolform").slideDown("slow");
            $('#skolform').removeAttr('disabled');
            $('.fixed-times :input').removeAttr('disabled');

            $(".fixed-times").show("slow");
		        $(".fixed-times").attr("style", "display: block;");     // IE8 Bugfix

        }

        if(this.value == 'f-9')
        {
            $("#pass").slideDown("slow");
            $("#fika").slideDown("slow");
            $("#val_skolform").slideDown("slow");
            $('#skolform').removeAttr('disabled');
            $('.fixed-times :input').removeAttr('disabled');
            
              

            $("#arskurs").slideDown("slow");
						$("#arskurs").attr("style", "display: block;");     // IE8 Bugfix     
            $(".fixed-times").show("slow");

						$(".fixed-times").show("slow");
		        $(".fixed-times").attr("style", "display: block;");     // IE8 Bugfix

        }

        if(this.value == 'gymnasiet')
        {
						$("#pass").show("slow");
            $("#val_skolform").slideDown("slow");
            $('#skolform').removeAttr('disabled');
            

            $(".free-times").show("slow");
            $('.free-times :input').removeAttr('disabled');
             $(".free-times").attr("style", "display: block;");   // IE8 Bugfix
            $('#datepicker1').datepicker('enable');
            $('#datepicker2').datepicker('enable');
            $('#datepicker3').datepicker('enable');


        }
    }
});

/**
 * Spara vilken dag som är aktuell för respektive datepicker
 * Exempelvis: är ett onsdagspass valt, kan man bara välja onsdagar
 * ur kalendern.
 *
 * Resultatet sparas i datepickerAllowedDay
 */
function setDayDatepicker(picker, current)
{
    var value = $(current).val();
    var key = value.substring(0, 3);
	
    $('#datepicker' + picker).datepicker('enable');

    datepickerAllowedDay[picker-1] = swedishDays[key];
}  

/**
 * Kolla vilka dagar som är tillåtna för datepicker 1
 *
 */

function doBeforeDay1(date)
{                                 
    var dateString = date.toString();
    var allowedDay = dateString.indexOf(datepickerAllowedDay[0]);
    
		if($('#typ').val() == 'other')
		{
			return [true, '']; 
		}

    if(allowedDay == 0)
    {
        return [true, ''];
    }
    else
    {
        return [false, ''];
    }
}  

function doBeforeDay2(date)
{                                 
    var dateString = date.toString();
    var allowedDay = dateString.indexOf(datepickerAllowedDay[1]);
    
		if($('#typ').val() == 'other')
		{
			return [true, '']; 
		}
		
    if(allowedDay == 0)
    {
        return [true, ''];
    }
    else
    {
        return [false, ''];
    }
}

function doBeforeDay3(date)
{                                 
    var dateString = date.toString();
    var allowedDay = dateString.indexOf(datepickerAllowedDay[2]);
    
		if($('#typ').val() == 'other')
		{
			return [true, '']; 
		}
		
    if(allowedDay == 0)
    {
        return [true, ''];
    }
    else
    {
        return [false, ''];
    }
} 

function resetDropdown(id)
{
	 var field = id;
	field.val($('option:first', field).val());
}


/**
 *
 *
 */
function showResponse(responseText, statusText)  
{ 
    $("*").removeClass("errorField");
          //alert('show respons');
    if(responseText.validation == 'failed')
    {
        $("#responseText").html("<div class='error'>" + responseText.message +
            "</div>");
        $("#responseText").show("slow");

        for(i=0;i<responseText.error_fields.length;i++)
        {
            $("#"+responseText.error_fields[i]).addClass("errorField");
        }
    }
    else
    {
        $("#responseText").html("<div class='done' style='height: 300px'><h3>" +
            responseText.message + "</h3></div>");
        $("#responseText").fadeIn("slow");
        $("#form1").hide();
    }

    $('html, body').animate({
        scrollTop:0
    }, 'slow');
} 
