jQuery.noConflict();

var start_month_number = null;
var start_date = null;
var end_month_number = null;
var end_date = null;
var last_end_month_number = null;
var last_end_date = null;
jQuery().ready(function(){

	jQuery('.calendar a').click(function(event){
		var results = event.target.id.match(/ok-(\d+)-(\d+)/);
		var tmp_var = results;

		
		var month_number = parseInt(results[1]);
		var date = parseInt(results[2]);
		if (start_month_number==null || ( month_number<start_month_number || ( month_number==start_month_number && date<start_date ) ) ) {
		    jQuery('.calendar #calendar_days, .calendar #calendar_day').css('background', '#eceae3');
		    start_month_number = month_number;
		    start_date = date;
		    end_month_number = month_number;
		    end_date = date;
		    _paint();
		    jQuery('#date-of-arrival').html('');
		    jQuery('#date-of-departure').html('');
			jQuery('#defa').html('');
		} else {
		    var results = jQuery('.Next').attr('id').match(/Next-(\d+)-(\d+)/);			
		    var next_month_number = results[1];
		    var year = results[2];
			

			var aj = "tarrif_txt-"+tmp_var[1]+"-"+tmp_var[2];
			var def_txt = document.getElementById(aj).innerHTML;
			def_txt = "<table style='font-size:13px;'><tr><td>"+def_txt+"</td></tr></table>";
			
		    var start_month = next_month_number%12 - 4 + start_month_number;	
			if(start_month==-1){  start_month = 11; year = year-1; }
			if(start_month==0){  start_month = 12; year = year-1; }
			
		    var date_of_arrival_str = start_date + '/' + start_month + '/' + year;
		    jQuery('#date-of-arrival').html(_formatted_date(year, start_month, start_date));

		    var end_month = next_month_number%12 - 4 + end_month_number;
			if(end_month==-1){  end_month = 11;  }
			if(end_month==0) {  end_month = 12;  }

			var date_of_departure_str = end_date + '/' + end_month + '/' + year;
		    jQuery('#date-of-departure').html(_formatted_date(year, end_month, end_date));
			
			jQuery('#defa').html(def_txt);

		    jQuery('#hidden-date-of-arrival').val(date_of_arrival_str);
		    jQuery('#hidden-date-of-departure').val(date_of_departure_str);
			
			jQuery('#hidden-defa').val(def_txt);

		    start_month_number = null;
		    start_date = null;
		    end_month_number = null;
		    end_date = null;
		}
		return false;
	    });

	jQuery('.calendar a').mouseover(function(event){
		if (start_month_number==null) {
		    return false;
		}
		var results = event.target.id.match(/ok-(\d+)-(\d+)/);
		var month_number = parseInt(results[1]);
		var date = results[2];
		end_month_number = month_number;
		end_date = date;
		if (end_month_number<start_month_number || (end_month_number==start_month_number && end_date<start_date) ) {
		    return false;
		}

		_paint();
		return false;
	    });


    });


function _paint() { 
    _clear();
    for (var month_number = start_month_number; month_number<=end_month_number; month_number++) {
	var first_date_to_paint = month_number==start_month_number? start_date: 1;
	var last_date_to_paint = month_number==end_month_number? end_date: _days_in_month(month_number-1);
	for (var date = first_date_to_paint; date<=last_date_to_paint; date++) {
	    jQuery('#ok-'+month_number+'-'+date).parent().css('background', '#869a8e');
	}
    }
    last_end_month_number = end_month_number;
    last_end_date = end_date;
}


function _clear() {
    if (last_end_month_number==null) {
	return;
    }

    for (var month_number=end_month_number; month_number<=last_end_month_number; month_number++) {
	var first_date_to_clear = month_number==start_month_number? start_date: 1;
	var last_date_to_clear = _days_in_month(month_number-1);
	for (var date = first_date_to_clear; date<=last_date_to_clear; date++) {
	    jQuery('#ok-'+month_number+'-'+date).parent().css('background', '#eceae3');
	}
    }
}


function _days_in_month(month_number) {
    var results = jQuery('.Next').attr('id').match(/Next-(\d+)-(\d+)/);
    var next_month_number = results[1];
    var year = results[2];
    var month = next_month_number%12 - month_number;

    return 32 - new Date(year, month, 32).getDate();
}


var months = new Array('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
var date_endings = new Array('', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'st');
function _formatted_date(year, month, date) {
    return date+date_endings[date] + ' '+ months[month] + ' ' + year;
}
