﻿      
      $(document).ready(function() 
      {
        $("#accordion").accordion();
        $("#tabs").tabs();
        $('#gallery a').lightBox();
        $("#datepicker").datepicker({ showOn: 'button', buttonImage: '/images/calendar.png', buttonImageOnly: true, dateFormat: 'dd/mm/yy'   });
        $("#datepicker").datepicker("setDate", new Date());
        $("#adatepicker").datepicker({ showOn: 'button', buttonImage: '/images/calendar.png', buttonImageOnly: true, dateFormat: 'dd/mm/yy'  });
        $("#adatepicker").datepicker("setDate", new Date());
        $('#availability').ajaxForm({ beforeSubmit:  showRequest, success: function(html) { showResults(html); }});
	    $("#availabilityWaiting").hide();
	    $("#availabilityResults").hide();
	    $("#availabilityFinished").hide();
	    
	    $("#modify").click(function() 
	    {
	        $("#availabilityFinished").slideUp();
	        $("#availabilityResults").slideUp( function() { $("#availability").slideDown(); } );
	    });
	    
	    if($("#availability [name=children]").val() == "")
        {
            $("#childAges").hide();
        }
        else
        {
            $("#childAges").show();
            $("#childAges [class=child]").hide();
           
            for(var i = 1; i < parseInt($("#availability [name=children]").val()) + 1; i++)
            {
                $("#childAges [id=child" + String(i) + "]").show();
            }
        }
        
        $("#availability [name=children]").change(function()
        {
            if($("#availability [name=children]").val() == "")
            {
                $("#childAges").hide();
            }
            else
            {
                $("#childAges").show();
                $("#childAges [class=child]").hide();
               
                for(var i = 1; i < parseInt($("#availability [name=children]").val()) + 1; i++)
                {
                    $("#childAges [id=child" + String(i) + "]").show();
                }
            }
        });
	    
	    $("#activehotels").submit(function() 
	    {
	        try
	        {
	            var dt = new Date($("#adatepicker").datepicker("getDate"));
	            $("#activehotels [name=day]").val(String(dt.getDate()));
                $("#activehotels [name=month]").val(String((dt.getMonth() + 1)));
                $("#activehotels [name=year]").val(String(dt.getFullYear()));
	            
	            return true;
	        }
	        catch(e)
	        {
	            alert(e);
	            return false;
	        }
	    });
	   
      });
      
      var blnDone = false;
      
      function showRequest()
      {
         if($("#availability [name=rooms]").val() == "1")
         {
            if($("#availability [name=adults]").val() > 6)
            {
                alert("A maximum of six adults is allowed when booking a single room.");
	            return false;
            }
         }
         else
         {
            var iRatio = parseFloat($("#availability [name=adults]").val() / $("#availability [name=rooms]").val());
            
            if(iRatio < 1 || iRatio > 4)
            {
                alert("When booking multiple rooms there must be at least 1 adult per room and no more that 4 adults per room.");
	            return false;
            }
         }
            
         for(var i = 1; i < parseInt($("#availability [name=children]").val()) + 1; i++)
         {
            if($("#availability [name=child" + String(i) + "]").val() == "")
            {
                alert("Please provide an age for child #" + i.toString());
	            return false;
            }
         }  
        
        if(blnDone == false)
        {
            $("#availability").slideUp( function() { $("#availabilityWaiting").slideDown( function() { blnDone = true; $('#availability').submit(); }); }); 
            return false;
        }
        else
        {
            blnDone = false;
            return true;
        }
      }
      
      function showResults(html)
	  {
	    $("#availabilityResults").html(html);
	    $("#availabilityWaiting").slideUp( function() { $("#availabilityFinished").slideDown(); $("#availabilityResults").slideDown(); });
	  }