var start_check_in_dropdown		= INIT.hotel_check_availability.initial_value.start_check_in_value;
var end_check_in_dropdown		= INIT.hotel_check_availability.initial_value.end_check_in_value;
var default_check_in_dropdown	= INIT.hotel_check_availability.initial_value.default_check_in_value;
var check_in_dropdown_id		= INIT.hotel_check_availability.element_id.check_in_dropdown_id;

var start_check_out_dropdown	= INIT.hotel_check_availability.initial_value.start_check_out_value;
var end_check_out_dropdown		= INIT.hotel_check_availability.initial_value.end_check_out_value;
var default_check_out_value		= INIT.hotel_check_availability.initial_value.default_check_out_value;
var check_out_dropdown_id			= INIT.hotel_check_availability.element_id.check_out_dropdown_id;

var default_room_amount_value	= INIT.hotel_check_availability.initial_value.default_room_amount_value;
var default_room_adult_value	= INIT.hotel_check_availability.initial_value.default_room_adult_value;
var default_room_child_value	= INIT.hotel_check_availability.initial_value.default_room_child_value;

var room_amount_dropdown_id		= INIT.hotel_check_availability.element_id.room_amount_dropdown_id;
var room_adult_dropdown_id	    = INIT.hotel_check_availability.element_id.room_adult_dropdown_id;
var room_child_dropdown_id	    = INIT.hotel_check_availability.element_id.room_child_dropdown_id;

var check_in_button_id			= INIT.hotel_check_availability.element_id.check_in_button_id;
var check_in_calendar_title		= INIT.hotel_check_availability.calendar_object.check_in_calendar_title;
var check_in_cal_min_date		= INIT.hotel_check_availability.calendar_object.check_in_cal_min_date;
var check_in_cal_max_date		= INIT.hotel_check_availability.calendar_object.check_in_cal_max_date;
var check_in_cal_default_date	= INIT.hotel_check_availability.calendar_object.check_in_cal_default_date;
var check_in_cal_output_id		= INIT.hotel_check_availability.element_id.check_in_cal_output_id;
var check_in_calendar_name		= INIT.hotel_check_availability.calendar_object.check_in_calendar_name;

var check_out_button_id			= INIT.hotel_check_availability.element_id.check_out_button_id;
var check_out_calendar_title	= INIT.hotel_check_availability.calendar_object.check_out_calendar_title;
var check_out_cal_min_date		= INIT.hotel_check_availability.calendar_object.check_out_cal_min_date;
var check_out_cal_max_date		= INIT.hotel_check_availability.calendar_object.check_out_cal_max_date;
var check_out_cal_default_date  = INIT.hotel_check_availability.calendar_object.check_out_cal_default_date;
var check_out_cal_output_id		= INIT.hotel_check_availability.element_id.check_out_cal_output_id;
var check_out_calendar_name		= INIT.hotel_check_availability.calendar_object.check_out_calendar_name;

var room1_label_id				= INIT.hotel_check_availability.element_id.room1_label_id;
var text_class_name				= INIT.hotel_check_availability.element_name.text_class_name;
var error_class_name			= INIT.hotel_check_availability.element_name.error_class_name;
var check_out_sec_id			= INIT.hotel_check_availability.element_id.check_out_sec_id;

/*Directrooms version 6.0 */
var room_child_expand_id		= INIT.hotel_check_availability.element_id.room_child_expand_id;
var room_adult_expand_id		= INIT.hotel_check_availability.element_id.room_adult_expand_id;
var default_room_adult_class_name	= INIT.hotel_check_availability.element_name.default_room_adult_class_name;
var default_room_child_class_name	= INIT.hotel_check_availability.element_name.default_room_child_class_name;

/*Directrooms version 6.2 */
var all_rooms_id		  	    = INIT.hotel_check_availability.element_id.all_rooms_id;   //New element
var column_width;
var column_align;
var max_column = 4;



if( default_check_in_dropdown == '' || default_check_in_dropdown == null )
{
  default_check_in_dropdown = create_next_date_string( start_check_in_dropdown , 10 );
}

if(default_check_out_value == '' || default_check_out_value == null )
{
  default_check_out_value = create_next_date_string( start_check_out_dropdown , 12 );
}

if( check_in_cal_default_date == '01/01/1970'  )
{
    check_in_cal_default_date = create_date_cal_format( default_check_in_dropdown );
}
if( check_out_cal_default_date = '01/01/1970' )
{
    check_out_cal_default_date = create_date_cal_format( default_check_out_value );
}

check_in_value_population 	    = new Array();
check_in_desc_population 		= new Array();

check_out_value_population 	    = new Array();
check_out_desc_population 	    = new Array();

room_amount_value_population	= new Array("1" , "2" , "3" , "4" , "5");
room_amount_desc_population		= new Array("1" , "2" , "3" , "4" , "5");

room_adult_value_population		= new Array("1" , "2" , "3" , "4");
room_adult_desc_population		= new Array("1" , "2" , "3" , "4");

room_child_value_population		= new Array("0" , "1" , "2");
room_child_desc_population		= new Array("0" , "1" , "2");

/*Checkin Date*/
var ChkIndateExploded = start_check_in_dropdown.split('-');
var ChkInthismonth = (ChkIndateExploded[1] - 1);
var ChkInthisyear  = ChkIndateExploded[0]; 
var ChkInday       =  ChkIndateExploded[2];

/*CheckOut Date*/
var ChkOutdateExploded = start_check_out_dropdown.split('-');
var ChkOutthismonth =  (ChkOutdateExploded[1] - 1);
var ChkOutthisyear  =  ChkOutdateExploded[0]; 
var ChkOutday       =  ChkOutdateExploded[2];

check_in_value_population       = js_enumerate_dates_value( ChkInday   , ChkInthismonth , ChkInthisyear );
check_out_value_population      = js_enumerate_dates_value( ChkOutday   , ChkOutthismonth , ChkOutthisyear );

check_in_desc_population		= js_enumerate_dates_description( ChkInday   , ChkInthismonth , ChkInthisyear );
check_out_desc_population       = js_enumerate_dates_description( ChkOutday   , ChkOutthismonth , ChkOutthisyear  );

/*
var start_check_in_date_object  = create_date_object_from_string( start_check_in_dropdown );
var end_check_in_date_object  	= create_date_object_from_string( end_check_in_dropdown   );

var start_check_out_date_object = create_date_object_from_string( start_check_out_dropdown );
var end_check_out_date_object  	= create_date_object_from_string( end_check_out_dropdown   );

check_in_value_population       = js_enumerate_dates_value( start_check_in_date_object   , end_check_in_date_object );
check_in_desc_population		= js_enumerate_dates_description( start_check_in_date_object , end_check_in_date_object );

check_out_value_population      = js_enumerate_dates_value( start_check_out_date_object       , end_check_out_date_object );
check_out_desc_population		= js_enumerate_dates_description( start_check_out_date_object , end_check_out_date_object );
*/

var check_in_option 	        = do_create_option_dropdown(
                                        check_in_value_population   ,
                                        check_in_desc_population    , 
                                        default_check_in_dropdown   ,
                                        check_in_dropdown_id        );
                            
var check_out_option	        = do_create_option_dropdown(
                                        check_out_value_population  ,
                                        check_out_desc_population   ,
                                        default_check_out_value     ,
                                        check_out_dropdown_id       );

var room_amount_default	        = do_create_option_dropdown(
                                        room_amount_value_population    ,
                                        room_amount_desc_population     ,
                                        default_room_amount_value       ,
                                        room_amount_dropdown_id         );

check_in_calendar_object	=	do_listening_check_in_calendar();
check_out_calendar_object	=	do_listening_check_out_calendar();
var hide_calendar			=	event_click_hide_calendar();

var hotel_check_rates = document.getElementById( 'hotel_check_rates' );
var country_check_rates = document.getElementById( 'country_check_rates' );
var country_horizontial_search = document.getElementById("horizontial_search");
var table = document.getElementById('all_rooms');

if( country_horizontial_search != null )
{
    //Horizontial Style
    column_width = [90 , 80 ,80 , 10];
    column_align = ['center' , 'center' , 'center' , 'center']
}
else
{
    //Vertical
    column_width = [75 , 70 , 1 , 1];
    column_align = ['center' , 'left' , 'center' , 'center']
}
if(country_check_rates == null )
{
    
    var room_adult_dropdown =	do_display_room_adult_dropdown(	
                                    default_room_adult_value		,
                                    room_adult_value_population		,
                                    room_adult_desc_population		,
                                    default_room_adult_class_name	,
                                    room_adult_expand_id            );



    var room_child_dropdown =	do_display_room_child_dropdown(	
                                    default_room_child_value		,
                                    room_child_value_population		,
                                    room_child_desc_population		,
                                    default_room_child_class_name	,
                                    room_child_expand_id            );
}

else if(hotel_check_rates == null)
{
   
    var room_adult_dropdown         = do_display_room_adult_child_dropdown();
}
else
{
    
}

//Version 6.2
function do_display_room_adult_child_dropdown( )
{
    var tbody = document.createElement("tbody");
                table.appendChild(tbody);
                
    var my_tbody = document.getElementById(all_rooms_id).tBodies[0];
    var max_room = default_room_adult_value.length;
    if( default_room_amount_value > 1 )
    {

        for (var room_index = 1 ; room_index <= max_room ; room_index ++)
    	{
    	    var adult_dropdown_name = 'room' + room_index + '_adult';
			var child_dropdown_name = 'room' + room_index + '_child';
			var room_label = 'Room ' + room_index + ':'
			var room_adult_default = default_room_adult_value[room_index-1];
			var room_child_default = default_room_child_value[room_index-1];
			var row   = do_create_row(25);
			
			var room_adult_dropdown = dom_create_dropdown(
                                            adult_dropdown_name						,
                                            adult_dropdown_name						,		
                                            room_adult_value_population			    ,
                                            room_adult_desc_population  		    ,
                                            room_adult_default	                    ,
                                            'txt'                                   );
    	    
    	    var room_child_dropdown = dom_create_dropdown(
                                            child_dropdown_name						,
                                            child_dropdown_name						,
                                            room_child_value_population			    ,
                                            room_child_desc_population  		    ,
                                            room_child_default                  	,
                                            'txt'                                   );
                                           
           for(var no_column = 0 ; no_column < max_column ; no_column++)
			{	
				var column = do_create_column( column_width[no_column] , column_align[no_column]);
                if( country_horizontial_search != null )
                {
                    
    				if(no_column == 0) {    column.innerHTML = room_label;                }
    				if(no_column == 1) {    column.appendChild(room_adult_dropdown);	  }
    				if(no_column == 2) {    column.appendChild(room_child_dropdown);	  }
    				row.appendChild(column);
				}
				else
				{
				    if(no_column == 0 ) 
				    {    
				        if( room_index == 1 )
				        {
				            var room1_label_id = do_create_room1_label_id();
				            var room1_label_text = document.createTextNode( 'Room 1:' );
				            room1_label_id.appendChild(room1_label_text)
				            column.appendChild(room1_label_id);
				        }
				        else
				        {
				            column.innerHTML = room_label; 
				        }        
				    }
				    
    				if(no_column == 1) {    column.appendChild(room_adult_dropdown);	  }
    				if(no_column == 2) {    column.appendChild(room_child_dropdown);	  }
    				row.appendChild(column);
				}
			}	
			my_tbody.appendChild(row);					                                 
    	}
    }
    else
    {

        //default_room_amount_value = 1
        var room1_adult_dropdown = dom_create_dropdown(
                                        'room1_adult'				,
                                        'room1_adult'				,		
                                        room_adult_value_population ,
                                        room_adult_desc_population  ,
                                        default_room_adult_value ,
                                        'txt'                       );
                                        
        var room1_child_dropdown = dom_create_dropdown(
                                        'room1_child'				,
                                        'room1_child'				,
                                        room_child_value_population ,
                                        room_child_desc_population  ,
                                        default_room_child_value ,
                                        'txt'                       );
        if( country_horizontial_search != null )
        {
            var adult_default = document.getElementById('adult_default');
            var child_default = document.getElementById('child_default');
            
            adult_default.appendChild(room1_adult_dropdown);
            child_default.appendChild(room1_child_dropdown);
        }
        else
        {
            //country_vertical_search
            var row = do_create_row(25);
            for(var no_column = 0 ; no_column < max_column ; no_column++)
            {
                var column = do_create_column( column_width[no_column] , column_align[no_column]);

				if(no_column == 0) {    var room1_label_id = do_create_room1_label_id();
				                        column.appendChild(room1_label_id) 
				                   }
				if(no_column == 1) {    column.appendChild(room1_adult_dropdown);     }
				if(no_column == 2) {    column.appendChild(room1_child_dropdown);	  }
				row.appendChild(column);
            }
            my_tbody.appendChild(row);
        }                                                        
        
    }
}

function do_display_occupant()
{
    var tbody = document.createElement("tbody");
                table.appendChild(tbody);
                
    var my_tbody = document.getElementById(all_rooms_id).tBodies[0];
    var room_value = document.getElementById(room_amount_dropdown_id).value;
	var current_room_node = my_tbody.childNodes.length;
    
    if( room_value > current_room_node )
    {
        //Add
        var number_add_room = parseInt(room_value - current_room_node);
        var room1_label;
        room1_label = do_remove_room1_label();
		room1_label = do_create_room1_label();

        for(var row_index =1 ; row_index <= number_add_room ; row_index ++)
		{
		    var row = do_create_row(25);
		    var room_number = parseInt(current_room_node + row_index );
		    var adult_dropdown_name = 'room' + room_number + '_adult';
			var child_dropdown_name = 'room' + room_number + '_child';
			var room_label = 'Room ' + room_number + ':'
			var room_adult_default =  default_room_adult_value[(row_index-1)+current_room_node];
			var room_child_default =  default_room_child_value[(row_index-1)+current_room_node];

			if( room_adult_default == undefined || room_child_default == undefined )
			{
                room_adult_default = 2;
                room_child_default = 0;		    
			}
			
			var room_adult_dropdown = dom_create_dropdown(
                                            adult_dropdown_name         ,
                                            adult_dropdown_name         ,		
                                            room_adult_value_population ,
                                            room_adult_desc_population  ,
                                            room_adult_default          ,
                                            'txt'                       );
			
			var room_child_dropdown = dom_create_dropdown(
                                            child_dropdown_name	        ,
                                            child_dropdown_name	        ,
                                            room_child_value_population ,
                                            room_child_desc_population  ,
                                            room_child_default          ,
                                            'txt'                       );
                                            			
            for(var no_column = 0 ; no_column < max_column ; no_column++)
			{	
				var column = do_create_column( column_width[no_column] , column_align[no_column]);

				if(no_column == 0) {    column.innerHTML = room_label;                }
				if(no_column == 1) {    column.appendChild(room_adult_dropdown);	  }
				if(no_column == 2) {    column.appendChild(room_child_dropdown);	  }
				row.appendChild(column);
			}	
			my_tbody.appendChild(row);
		}
    }
    
    else if( room_value < current_room_node  )
    {
        //Remove
        var number_remove_room = parseInt(current_room_node - room_value);
        for(var row_index = 1 ; row_index <= number_remove_room ; row_index ++ )
        {
            my_tbody.removeChild(my_tbody.lastChild);
        }
        if( room_value == 1 )
        {
            var room1_label = do_remove_room1_label();
        }
    }
    else
    {
        //Nothing
    }
}
function do_display_xml_occupant()
{
    var tbody = document.createElement("tbody");
                table.appendChild(tbody);
                
    var my_tbody = document.getElementById(all_rooms_id).tBodies[0];
    var room_value = document.getElementById(room_amount_dropdown_id).value;
    var adult_default = document.getElementById('adult_default');
	var child_default = document.getElementById('child_default');
	var current_room_node = my_tbody.childNodes.length;
	
    if( (adult_default.hasChildNodes() == true) || (child_default.hasChildNodes() == true) )
	{
	  	adult_default.removeChild(adult_default.lastChild);
	  	child_default.removeChild(child_default.lastChild);
	}
	
	if ( room_value > current_room_node )
	{
	    var number_add_room = parseInt(room_value - current_room_node);
	    for(var row_index =1 ; row_index <= number_add_room ; row_index ++)
		{
		    var row = do_create_row(25);
		    var room_number = parseInt(current_room_node + row_index );
		    var adult_dropdown_name = 'room' + room_number + '_adult';
			var child_dropdown_name = 'room' + room_number + '_child';
			var room_label = 'Room ' + room_number + ':'
			var room_adult_default =  default_room_adult_value[(row_index-1)+current_room_node];
			var room_child_default =  default_room_child_value[(row_index-1)+current_room_node];
            
			if( room_adult_default == null || room_adult_default == '' || room_child_default == null || room_child_default == '' )
            {
                room_adult_default = 2;
                room_child_default = 0;
            }
			
			var room_adult_dropdown = dom_create_dropdown(
                                            adult_dropdown_name         ,
                                            adult_dropdown_name         ,		
                                            room_adult_value_population ,
                                            room_adult_desc_population  ,
                                            room_adult_default          ,
                                            'txt'                       );
			
			var room_child_dropdown = dom_create_dropdown(
                                            child_dropdown_name	        ,
                                            child_dropdown_name	        ,
                                            room_child_value_population ,
                                            room_child_desc_population  ,
                                            room_child_default          ,
                                            'txt'                       );
                                            			
            for(var no_column = 0 ; no_column < max_column ; no_column++)
			{	
				var column = do_create_column( column_width[no_column] , column_align[no_column]);

				if(no_column == 0) {    column.innerHTML = room_label;                }
				if(no_column == 1) {    column.appendChild(room_adult_dropdown);	  }
				if(no_column == 2) {    column.appendChild(room_child_dropdown);	  }
				row.appendChild(column);
			}	
			my_tbody.appendChild(row);
		    
		}	    
	}
	else if(room_value < current_room_node)
	{
        var number_remove_room = parseInt(current_room_node - room_value);
        for(var row_index = 1 ; row_index <= number_remove_room ; row_index ++ )
        {
            my_tbody.removeChild(my_tbody.lastChild);
        }
        if( room_value == 1 )
        {
            while (my_tbody.hasChildNodes())
		    {
		        my_tbody.removeChild(my_tbody.lastChild); 
		    }
		var room1_adult_default = default_room_adult_value[0];
        var room1_child_default = default_room_child_value[0];  
          
        if( room1_adult_default == null || room1_adult_default == '' || room1_child_default == null || room1_child_default == '' )
        {
            room1_adult_default = 2;
            room1_child_default = 0;
        }
        
        var room1_adult_dropdown = dom_create_dropdown(
                                        'room1_adult'				,
                                        'room1_adult'				,		
                                        room_adult_value_population ,
                                        room_adult_desc_population  ,
                                        room1_adult_default ,
                                        'txt'                       );
                                        
        var room1_child_dropdown = dom_create_dropdown(
                                        'room1_child'				,
                                        'room1_child'				,
                                        room_child_value_population ,
                                        room_child_desc_population  ,
                                        room1_child_default          ,
                                        'txt'                       );
        adult_default.appendChild(room1_adult_dropdown);
        child_default.appendChild(room1_child_dropdown);
        }
	}
	else
	{
	    //Notthing
	}
}
function do_remove_room1_label()
{
	var room1_label = document.getElementById(room1_label_id);
	if(room1_label.hasChildNodes() == true)
	{
		room1_label.removeChild(room1_label.lastChild);
	}
}	
function do_create_room1_label_id()
{
	var room1_label_id;
	
	
	var room1_label_id = document.createElement('span');
	var room1_id       = document.createAttribute("id");
	room1_id.value = 'room1_label_id';
	room1_label_id.setAttributeNode(room1_id);	

	return room1_label_id;
}
function do_create_room1_label()
{
	var room1_label;
	
	room1_label = document.getElementById( room1_label_id );
	var room1_label_text = document.createTextNode( 'Room 1:' );
	room1_label.appendChild(room1_label_text);
	
	return room1_label;
}	
function do_create_row(row_height)
{
		var row;
		row   = document.createElement('tr');
		
		var row_attribute       = document.createAttribute("height");
		row_attribute.value     = row_height;
		row.setAttributeNode(row_attribute);
		
		return row;
}
function do_create_column(column_width , align )
{
	var column;
	
	column = document.createElement('td');
	
	var column_attribute	= document.createAttribute("width");
	column_attribute.value  = column_width;
	column.setAttributeNode(column_attribute);	
	
	var ailgn_attribute       = document.createAttribute("align");
	ailgn_attribute.value     = align;
	column.setAttributeNode(ailgn_attribute);
	
	return column;
}  
//Version 6.0
function do_display_room_adult_dropdown( room_adult_value , default_room_adult_value , default_room_adult_desc , room_adult_class_name , output_id ) 
{
    var adult_dropdown = document.getElementById( output_id );
    
    if (room_adult_value) {
        // array is already defined
	}
	else {
	    room_adult_value = new Array("2");
	}
	
	var room_amount = room_adult_value.length;
	
	for (var current_room_number = 1 ; current_room_number<= room_amount ; current_room_number++) {
	    var room_adult_name	=	"room"  + current_room_number + "_adult"   ;
	    var room_adult_id	=	"room"  + current_room_number + "_adult"   ;
	    var room_adult_text	= 	"room " + current_room_number + ":"        ;
	    var room_label_id	= 	"room"  + current_room_number + "_label_id";
	    
	    var create_adult_dropdown =  dom_create_dropdown( 	
	                                          room_adult_name 			,
	                                          room_adult_id 			,
	                                          default_room_adult_value 	,
	                                          default_room_adult_desc 	,
	                                          room_adult_value[current_room_number-1],
	                                          room_adult_class_name     );



		// put Room label if room amount is more than 1

		if( default_room_amount_value > 1 ){
		    var div				= document.createElement("div");
		    var span			= document.createElement("span");
		    var span_att 		= document.createAttribute("id");
		    span_att.value 		= room_label_id;
		    span.setAttributeNode(span_att);
		    
		    var text_label		= document.createTextNode( room_adult_text );
		    span.appendChild( text_label );
		    div.appendChild(span);
		    div.appendChild(create_adult_dropdown);
		    adult_dropdown.appendChild(div);
		}

		else {

        // Room amount equals 1, no need to put room labe
            var div			= document.createElement("div");
            var span		= document.createElement("span");
            var span_att 	= document.createAttribute("id");
            span_att.value 	= room1_label_id;
            span.setAttributeNode(span_att);
            
            div.appendChild(span);
            div.appendChild(create_adult_dropdown);
            adult_dropdown.appendChild(div);
		}
    }

    return adult_dropdown;

}

function do_display_room_child_dropdown( room_child_value , default_room_child_value , default_room_child_desc , room_child_class_name , output_id ) {
    
    var child_dropdown = document.getElementById( output_id );
    if (room_child_value) 
    {
        // array is already defined
	}
	else
	{
	    room_child_value = new Array("0");
	}
	var room_amount = room_child_value.length;
	for(var current_room_number = 1 ; current_room_number<= room_amount ; current_room_number++)
	{
	    var room_child_name	=	"room"  + current_room_number + "_child";
	    var room_child_id	=	"room"  + current_room_number + "_child";
	    var create_child_dropdown =  dom_create_dropdown( 	
	                                        room_child_name 			,
	                                        room_child_id 				,
	                                        default_room_child_value 	,
	                                        default_room_child_desc 	,
	                                        room_child_value[current_room_number-1],
	                                        room_child_class_name       );

		var div	= document.createElement("div");
		div.appendChild(create_child_dropdown);
		child_dropdown.appendChild(div);
	}
	return child_dropdown;

}

function do_expand_dropdown() {
    
    var get_room_amount_value 	= document.getElementById( room_amount_dropdown_id ).value;
    var get_room_adult_node 	= document.getElementById( room_adult_expand_id    ).childNodes.length;
    var room1_label_output		= document.getElementById( room1_label_id );
    
    var room_adult_node			= document.getElementById( room_adult_expand_id );
    var room_child_node			= document.getElementById( room_child_expand_id );
    
    //Do Add Node
    if ( get_room_amount_value > get_room_adult_node ) {
        
        var add_adult_dropdown;
        var add_child_dropdown;
        
        var num_add_node = get_room_amount_value - get_room_adult_node;
        for(var additional_room = 1 ; additional_room <= num_add_node ; additional_room++){
            var current_room_number		= get_room_adult_node + additional_room;
            var create_room_text_label 	= "room " + current_room_number + ":";
            var adult_selector_name 	= "room"  + current_room_number + "_adult";
            var adult_selector_id		= "room"  + current_room_number + "_adult";
            var child_selector_name 	= "room"  + current_room_number + "_child";
            var child_selector_id		= "room"  + current_room_number + "_child";
            
            /*Choose default or new value in room_adult and room_child */
            if( current_room_number <= default_room_amount_value ) {
                //Use default room adult value
                add_adult_dropdown =	dom_create_dropdown(	
                                                adult_selector_name 						,
                                                adult_selector_id 							,
                                                room_adult_value_population 				,
                                                room_adult_desc_population 			  		,
                                                default_room_adult_value[current_room_number-1],
                                                default_room_adult_class_name               );
                //Use default room child value
                add_child_dropdown =	dom_create_dropdown(	
                                                child_selector_name 						,
                                                child_selector_id 							,
                                                room_child_value_population 				,
                                                room_child_desc_population 			  		,
                                                default_room_child_value[current_room_number-1],
                                                default_room_child_class_name                );
			}
			else 
			{
			    //Use new room adult value
			    add_adult_dropdown =	dom_create_dropdown(	
			                                adult_selector_name 				,
			                                adult_selector_id 					,
			                                room_adult_value_population 		,
			                                room_adult_desc_population 			,
			                                room_adult_value_population[1] 		,
			                                default_room_adult_class_name       );



				//Use new room child value

				add_child_dropdown =	dom_create_dropdown(	
				                                child_selector_name 				,
				                                child_selector_id 					,
				                                room_child_value_population 		,
				                                room_child_desc_population 			,
				                                room_child_value_population[0] 		,
				                                default_room_child_class_name       );
			}

			//Create room text label
			var room_adult_text		= "room " + current_room_number + ":";
			var room_label_id		= "room"  + current_room_number + "_label_id";
			var div_adult 			= document.createElement("div");
			var div_child			= document.createElement("div");
			var span				= document.createElement("span");
            var span_att 			= document.createAttribute("id");
                span_att.value 			= room_label_id;
                span.setAttributeNode(span_att);

            var text_label 			= document.createTextNode( room_adult_text );
            span.appendChild( text_label );
            div_adult.appendChild(span);
            div_adult.appendChild(add_adult_dropdown);
            div_child.appendChild(add_child_dropdown);

            room_adult_node.appendChild(div_adult);
            room_child_node.appendChild(div_child);

		}
        // if there is no room label for room1

        if (room1_label_output.innerHTML == '' ) {

            var room1_text		= document.createTextNode( 'room 1:' );
            room1_label_output.appendChild( room1_text );
	    }
	}

	else if ( get_room_amount_value == get_room_adult_node ) {

	    // do nothing! because new required room amount equal to current room amount 

	}

	else if ( get_room_amount_value < get_room_adult_node ) {

        // Remove unrequired rooms 
		var room_amount_to_remove = get_room_adult_node - get_room_amount_value;

		for(var r=1; r <= room_amount_to_remove ; r++ ) {
			room_adult_node.removeChild( room_adult_node.lastChild );
			room_child_node.removeChild( room_child_node.lastChild );
		}
		if( get_room_amount_value == 1 ) {  
		    // if new required room amount equals 1, need to remove room label
            if (room1_label_output.innerHTML != '' ) {
		        //room1_label_output.removeChild(room1_label_output.lastChild);
		        room1_label_output.innerHTML = '';
	        }
		}
	}
}

//For Version 6.0 and 6.2
function do_listening_check_in_calendar(){
	
	YAHOO.util.Event.onDOMReady( function() { 
		
		check_in_calendar_object = create_calendar(
											check_in_calendar_name 		, 
											check_in_cal_output_id 		, 
											check_in_calendar_title 	,  
											check_in_cal_min_date 		, 
											check_in_cal_max_date 		, 
											check_in_cal_default_date  	
											);
		check_in_calendar_object.render();
		YAHOO.util.Event.addListener( check_in_button_id   , "click"  ,  function(){  	check_in_calendar_object.show(); });
		YAHOO.util.Event.addListener( check_in_dropdown_id , "change" ,  function(){  	updateCalendar( check_in_dropdown_id , check_in_calendar_object );
		                                                                                syncDate( check_in_dropdown_id , check_out_dropdown_id ); 
		                                                                           });
		check_in_calendar_object.selectEvent.subscribe( handleSelect , check_in_calendar_object , true );
		});
}

function do_listening_check_out_calendar() {

	YAHOO.util.Event.onDOMReady( 
	    function() {

		    check_out_calendar_object 
		        = create_calendar(
		    	    check_out_calendar_name 	,
		    	    check_out_cal_output_id 	,
		    	    check_out_calendar_title 	,
		    	    check_out_cal_min_date 		,
		    	    check_out_cal_max_date 		,
		    	    check_out_cal_default_date
		    	);
		    check_out_calendar_object.render();
		    YAHOO.util.Event.addListener( check_out_button_id   , "click"  ,  function(){  	check_out_calendar_object.show();                                  });
		    YAHOO.util.Event.addListener( check_out_dropdown_id , "change" ,  function(){  	updateCalendar( check_out_dropdown_id , check_out_calendar_object );
		    																				CheckoutError();
		    																			});
		    check_out_calendar_object.selectEvent.subscribe( handleSelect , check_out_calendar_object , true );
        }
    );
}

function updateCalendar( dropdown_id , calendar_object ) {

	var get_date_dropdown = document.getElementById( dropdown_id ).value;

	var split_dates = get_date_dropdown.split("-");
	var year  = split_dates[0];
	var month = split_dates[1];
	var ndate = split_dates[2];

	var format_date = month + "/" + ndate + "/" + year;

	if ( (! isNaN(month) ) && (! isNaN(ndate) ) && (! isNaN(year) ) ) {
		calendar_object.select( format_date );
		calendar_object.cfg.setProperty("pagedate", month + "/" + year);
		calendar_object.render();
	}
}

function syncDate( main_dropdown_id , sec_dropdown_id ) {

		var main_dropdown 	= document.getElementById( main_dropdown_id );
		var main_date_value = main_dropdown.value;

		var sec_dropdown 	= document.getElementById( sec_dropdown_id );
		var sec_date_value 	= sec_dropdown.value;


		var main_date_object = create_date_object_from_string( main_date_value );
		var sec_date_object  = create_date_object_from_string( sec_date_value );

		var sync_date_value;

		if( main_date_object <=  sec_date_object ){
			sync_date_value = sec_date_value;
		}
		else {
			sync_date_value = create_next_date_string( main_date_value , 3 );
		}

		var set_date_value 	 = document.getElementById( sec_dropdown_id );
		set_date_value.value = sync_date_value;
		CheckoutError();
}

function CheckoutError(){

	var check_in_value  = document.getElementById( check_in_dropdown_id  ).value;
	var check_out_value = document.getElementById( check_out_dropdown_id ).value;

	var check_in_value_object  	= create_date_object_from_string( check_in_value  );
	var check_out_value_object  = create_date_object_from_string( check_out_value );

	if( check_in_value_object < check_out_value_object ){
		document.getElementById( check_out_sec_id ).className = text_class_name;
	} else {
		document.getElementById( check_out_sec_id ).className = error_class_name;
	}
}

function event_click_hide_calendar() {

	YAHOO.util.Event.addListener(  document     , 'click'    ,     function(e) {
		var target = (e && e.target) || (event && event.srcElement);
		if (target.id !=  check_in_button_id ) {
			var get_display_checkin = document.getElementById( check_in_cal_output_id ).style.display
			if ( get_display_checkin == 'block' ) {
				    setTimeout( "hideCheckinCalendar()", 30);
			}
		}

		if (target.id != check_out_button_id ) {
			var get_display_checkout = document.getElementById( check_out_cal_output_id ).style.display
				if (get_display_checkout  == 'block') {
			 		setTimeout( "hideCheckoutCalendar()", 30);
			 	}
		}
	});
}

function handleSelect( type,args,obj ) {

    var get_date_calendar = args[0];
    
    var full_date	= get_date_calendar[0];
    var year 		= full_date[0];
    var month 		= full_date[1];
    var day 		= full_date[2];
    
    month 		= ((month < 10) ? "0" : "")   + month;
    day 		= ((day   < 10) ? "0" : "")   + day;
    
    var format_date_calendar = year + "-" + month + "-" + day;

	var date_select_tag;
	    
    /* Select checkin dropdown */
    if ( obj == ( "CalendarGroup " + check_in_calendar_name ) ){
    
    	date_select_tag 		= document.getElementById( check_in_dropdown_id );
    	date_select_tag.value 	= format_date_calendar;
    
    	syncDate( check_in_dropdown_id , check_out_dropdown_id );
    	updateCalendar( check_out_dropdown_id , check_out_calendar_object );
    	CheckoutError();
    }
    
    /* Select checkout dropdown */
    if ( obj == ( "CalendarGroup "+ check_out_calendar_name ) ){
    	date_select_tag 		= document.getElementById( check_out_dropdown_id );
    	date_select_tag.value 	= format_date_calendar;
    	CheckoutError();
    }
    
    hideCalendar();
}

function hideCheckinCalendar(){
	YAHOO.util.Dom.setStyle( check_in_cal_output_id , 'display', 'none');
}

function hideCheckoutCalendar(){
	YAHOO.util.Dom.setStyle( check_out_cal_output_id , 'display', 'none');
}

function hideCalendar() {
	setTimeout( "hideCheckinCalendar()"  , 80);
	setTimeout( "hideCheckoutCalendar()" , 80);
}

function form_validate() {

    var result_form_validate                =   true;
    var result_check_date                   =       CheckCheckoutDate();
    var result_occupant_per_room    =   CheckOccupantPerRoom();
    var result_over_occupant                =       CheckOverOccupant();

    if ( ( result_check_date == true ) && ( result_occupant_per_room == true ) && ( result_over_occupant == true ) ) {

        result_form_validate = true;

        if ( is_valid_url_to_open_compare_window() ) {
            open_compare_window();
        }

    }
    else {
        var error_message = '';

        if ( result_check_date == false ) {
            error_message += 'Please correct the Check in and/or Out dates\n';
        }

        if ( result_occupant_per_room == false ) {
            error_message += 'Maximum number of guests per room must not exceed 4\n';
        }

        if ( result_over_occupant == false ) {
            error_message += 'Maximum number of guests must not exceed 9 per booking\n';
        }

        alert(error_message);

        result_form_validate = false;
    }

    return result_form_validate;

}

function CheckCheckoutDate() {

    var validate_check_out = false;

    var check_in_value  = document.getElementById( check_in_dropdown_id  ).value;
    var check_out_value = document.getElementById(  check_out_dropdown_id ).value;

    var check_in_value_object       = create_date_object_from_string( check_in_value  );
    var check_out_value_object  = create_date_object_from_string( check_out_value );

    if ( check_in_value_object < check_out_value_object ) {

        validate_check_out = true;

    }
    else {

        document.getElementById( check_out_sec_id ).className = error_class_name;
        validate_check_out = false;

    }

    return  validate_check_out;

}

function CheckOccupantPerRoom() {

    var validate_max_occupant  = true;
    var room_amount_value = document.getElementById( room_amount_dropdown_id ).value;
    var sum_occupant          = 0;

    for(var current_room_number = 1 ; current_room_number <= room_amount_value ; current_room_number++ ) {

        var count_occupant = 0;
        var room_adult_id  = "room" + current_room_number + "_adult";
        var room_child_id  = "room" + current_room_number + "_child";

        var room_adult_value = parseInt(document.getElementById( room_adult_id ).value);
        var room_child_value = parseInt(document.getElementById( room_child_id ).value);
        var room_adult_label = "room" + current_room_number + "_label_id";

        count_occupant  = room_adult_value +  room_child_value;
        sum_occupant    = sum_occupant     +  count_occupant;

        if(     ( (room_adult_value == 3) && (room_child_value == 2) )
           ||   ( (room_adult_value == 4) && (room_child_value == 1) )
           ||   ( (room_adult_value == 4) && (room_child_value == 2) )
          )
        {

           validate_max_occupant =  false;
        }

    }

    return validate_max_occupant;
}

function CheckOverOccupant() {

    var validate_over_occupant  = true;
    var room_amount_value       = document.getElementById( room_amount_dropdown_id ).value;
    var sum_all_occupant        = 0;

    for(var current_room_number = 1 ; current_room_number <= room_amount_value ; current_room_number++ ) {

        var sum_occupan_per_room = 0;

        var room_adult_id  = "room" + current_room_number + "_adult";

        var room_child_id  = "room" + current_room_number + "_child";

        var room_adult_value = parseInt(document.getElementById( room_adult_id ).value);

        var room_child_value = parseInt(document.getElementById( room_child_id ).value);

        sum_occupan_per_room    = room_adult_value +  room_child_value;
        sum_all_occupant = sum_all_occupant +  sum_occupan_per_room;


    }

    if ( sum_all_occupant > 9 ) {
        validate_over_occupant = false;
    }

    return validate_over_occupant;
}


