
$(function() {
	
	  if(jQuery.browser.msie && jQuery.browser.version<7) {
		$('.main-menu li').hover( 
			function () { $(this).addClass('hover'); }, 
			function () { $(this).removeClass('hover'); }
		);
	  }  


	Date.format = 'mm/dd/yyyy';
	Date.firstDayOfWeek = 0;	
	
	$('.date-pick').datePicker({clickInput:true});
	
	$('#checkin').bind( 'dpClosed', function(e, selectedDates) {
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#checkout').dpSetStartDate(d.addDays(1).asString()).val(d.asString()).trigger('change');
			}
	});
	
	$('#checkout').bind( 'dpClosed', function(e, selectedDates) {
			var d = selectedDates[0];
			if (d) {
				$('#checkin').trigger('change');
			}
	});

	$('#checkin').trigger('change');
	
	                   // $('#checkin,#checkout').attr('readonly', 'readonly');
	
						$('#checkin').click(function() {
							$('.booknow-form').hide();
							$('.calendar-in').show();
							$('.book-title').html('Check-in Date');
							
						});
						
						$('#checkout').click(function() {
							$('.booknow-form').hide();
							$('.calendar-out').show();
							$('.book-title').html('Check-out Date');
						});
						
						$('.calendar-in, .calendar-out').datePicker(
						  {
						    createButton: false,
                            inline: true
						  }
						).bind('click', function() {
						    updateSelects(this, $(this).dpGetSelected()[0]);
							return false;
						}).bind('dateSelected', function(e, selectedDate, $td, state) {
						    updateSelects(this, selectedDate);
							$(this).hide();
							$('.booknow-form').show();
							$('.book-title').html('Online Reservations');
						});
						
						var today = new Date();
						$('#checkin').val(today.asString());
						$('#checkout').val(today.addDays(1).asString());

                        $('.calendar-in').dpDisplay().hide();
						$('.calendar-out').dpSetStartDate(today.addDays(-1).asString()).dpSetSelected(today.addDays(1).asString()).dpDisplay().hide();
						
						var updateSelects = function (e, selectedDate)
						{
                            if(!selectedDate) return true;
							var t = new Date(selectedDate);

							var dt = new Date.fromString($('#checkin').val());		
                            var edate = new Date.fromString($('#checkout').val());							
						
                            var one_day=1000*60*60*24

                            days_diff = Math.ceil((edate.getTime() - dt.getTime())/(one_day));
							
							if ($(e).hasClass('calendar-in')) {
								$('#checkin').val(t.asString());
//								var dt = new Date(t);
//	                            var edate = new Date.fromString($('#checkout').val());							
                                
							    $('.calendar-out').dpClose().dpSetStartDate(dt.addDays(1).asString());
                                
								// set end date +2 days by default, if needed (when we set start > enddate)
								if(days_diff<0) {
                                    $('#checkout').val(t.addDays(1).asString());
                                    $('.calendar-out').dpSetSelected(t.asString()); 
                                }
                                $('.calendar-out').dpDisplay().hide();
                                
							} else if ($(e).hasClass('calendar-out')) {
								$('#checkout').val(t.asString());
							} 

							$('#lengthOfStay').val(days_diff);//starwoodhotels.com
						}

						

				$("#ajaxloading")
        		.ajaxStart(function(){
        			//$(this).show();
        		})
        		.ajaxComplete(function(){
        			//$(this).hide();
        		});
				
				
	            var showEventsPerMonth = function(mo,yr) {
	            	
			    //if (typeof(ajaxevents) == 'undefined') return;
			    
			    if(ajaxevents == undefined) return;
			        if($("#jqCalendarResults1").length == 0) return;
			        
			        var txt = '';
				  var sevents = new Array();
				  var showitems = new Array();
					
				    $.ajax({
				      type: 'POST',
                      url: calpath+"ajax.php",
                      data: {m:mo, y:yr},
                      cache: true,
                      async: true,
                      success: function(events){
                    	  
                        $("#jqCalendarResults1").html(events);
                      }
                    });
				    return;
				    
				    jQuery.each(ajaxevents, function(index, item){
					d = index;
					// for (var d in ajaxevents) {
				    if(d.substring(0,2) == mo && d.substring(6,10) == yr) {
				      var xk = item;
				 			// var xk = ajaxevents[d];
				
				      // for(i=0;i<item.length ;i++) {
 							for(i=0;i< ajaxevents[d].length;i++) {
				        if(!sevents[xk[i]]) {
				          sevents[xk[i]] = 1;
				          showitems.push(ajaxitems[xk[i]]);
				        }
				      }
				    }
				  // }
					});
				
					var lnd = 0;
					jQuery.each(showitems, function(index, item){	d = index;					
				  // for (var d in showitems) {
				    var itm = item; //
						// var itm =showitems[d];
						// if (itm != "undefined" && itm.title != "undefined") {
						if (lnd <= 3) {	
							txt+='<li><a title="'+itm.title+'" href="?id='+itm.id+'&width=544&height=320&TB_iframe=true" onclick="tb_show(this.title,this.href,null);return false;" class="thickbox"><span>'+itm.start_date+'</span>: '+itm.title+'</a></li>';
						}
						//}
						//if(lnd>3) break;
						lnd++; 
				  // }
					});
				
				  if($('#jqCalendarResults').length) {
				    if(txt.length == 0) {
				      $('#jqCalendarResults').html('');
						}
				    else {
				      $('#jqCalendarResults').html('<ul>'+txt+'</ul>');
				    }
				  }
				
				
			  }

			  $('#jqCalendar').datePicker(
					{
						inline:true,
						showYearNavigation:false,
						renderCallback:function($td, thisDate, month, year)
						{
						  if(typeof(ajaxevents)!='undefined') {
								var now = new Date();
								if(ajaxevents[thisDate.asString()]) {
								    if($td.hasClass('current-month')) {
			  				    $td.addClass('hasevents');
			  				    $td.attr('title', 'Show events on '+thisDate.asString());
								    }
			  				}
						  }
						}
					}
				)
				.bind(
				  'dpMonthChanged', 
				  function(e, month, year)
					{
					  
					  var mo = (month+1);
					  if((mo+'').length == 1) mo='0'+mo;
					  var yr = year+'';

					  showEventsPerMonth(mo,yr);
					}
				)
				.bind(
					'dateSelected',
					function(e, selectedDate, $td)
					{
					
					  var selDate = selectedDate.asString();
						var selMonth = selectedDate.getMonth()+1;
						var selYear = selectedDate.getFullYear();
					  document.location.href=calpath+'?m='+selMonth+'&y='+selYear+'#cal';
					}
			);
			  //).dpClose().dpDisplay();
					
				var date = new Date();
				var month = date.getMonth()+1;
				month = (month > 9 ? month : "0"+month);
				year = date.getFullYear();
				// showEventsPerMonth(month, year);


				
				


	
});

