iBookingRSData = function( id_search_group, id_prov )
{
	iBookingRSThisPtr = this;
	this.hotels = new Array();
	this.maxAdults = 1;
	this.maxRooms = 1;
	this.id_search_group = id_search_group;
	this.id_prov = id_prov;

	if (id_prov)
	{
		this.mealPlans = new Array();
	}
}

iBookingRSData.prototype.buildSelector = function( el, type )
{
	if( el )
	{
		switch( type )
		{
		case "hotels":
		{
			var k = 0;
			for( var i = 0; i < this.hotels.length; ++i )
			if( this.hotels[i].id && this.hotels[i].id != "null" && this.hotels[i].id != " " )
			{
				el.options[k + 1] = new Option( this.hotels[i].id, this.hotels[i].id );
				++k;
			}
			break;
		}
		case "adults":
		{
			for( var i = 1; i < this.maxAdults; ++i )
				el.options[i] = new Option( i + 1, i + 1 );
			break;
		}
		case "rooms":
		{
			for( var i = 1; i < this.maxRooms; ++i )
				el.options[i] = new Option( i + 1, i + 1 );
			break;
                }
                case "mealPlans":
                {
                	var k = 0;
                	for( var i = 1; i < this.mealPlans.length; ++i )
                	{
                		if (this.mealPlans[i].id && this.mealPlans[i].id != "null" && this.mealPlans[i].id != " ")
                		{
                			el.options[k + 1] = new Option(this.mealPlans[i].id, this.mealPlans[i].name);
                			++k;
                		}
                		break;
                	}
		}
		}
	}
}

function ShowRemoteSearchPopup(search_group_id, form1, form2, form3, lng)
{
    if( iBookingRSThisPtr )
    {
    	id_search_group = iBookingRSThisPtr.id_search_group;
    }
    else
    	id_search_group = search_group_id;

    var hotel_location = "";
    var hotel_region = "";
    var hotel_classification = "";
    var hotel_town = "";

    if (form1)
    {
        if (form1.hotel_location)
        {
            hotel_location = escape(form1.hotel_location.value);
        }

        if (form1.hotel_region)
        {
            hotel_region = escape(form1.hotel_region.value);
        }

        if (form1.hotel_classification)
        {
            hotel_classification = escape(form1.hotel_classification.value);
        }

        if (form1.hotel_town)
        {
            hotel_town = escape(form1.hotel_town.value);
        }
    }

    var curDate = new Date();
    var day = ( form2 && form2.arrival_day ) ? form2.arrival_day.value : curDate.getDate();
    var month = ( form2 && form2.arrival_date ) ? form2.arrival_date.value.substr(4, 2) : ( curDate.getMonth() + 1 );
    var year = ( form2 && form2.arrival_year ) ? form2.arrival_year.value : ( curDate.getYear() );

    var nights = ( form3 && form3.nights ) ? form3.nights.value : 1;
    var rooms = ( form3 && form3.rooms ) ? form3.rooms.value : 1;
    var adults = ( form3 && form3.adults ) ? form3.adults.value : 1; 

    var url = 'http://hotelapp.ibooking.com/hotel_net/search/Search.aspx?id_search_group=' + escape(id_search_group);
    url += "&town=" + hotel_town + "&classification=" + hotel_classification + "&region=" + hotel_region + "&location=" + hotel_location;
    url += "&day=" + escape( day ) + "&month=" + escape( month ) + "&year=" + escape( year );
    url += "&nights=" + escape( nights ) + "&quantity=" + escape( rooms ) + "&adults=" + escape( adults );
    url += "&t=" + ( new Date() ).getTime() + "&tp_site=Y";

    if (lng)
    {
        url += "&lng=" + escape(lng);
    }

    var newWin = window.open(url,'search','dependent=yes,width=600,height=610,titlebar=yes,top=0,left=0,scrollbars=yes');
}

function ShowHotelPopup(form1, form2, form3, lng)
{
    var id_prov = iBookingRSThisPtr.id_prov;
    if (id_prov)
    {
       var id_mpln = (form1 && form1.meal_plan) ? escape(form1.meal_plan.value) : 0;
       var curDate = new Date();
       var day = ( form2 && form2.arrival_day ) ? form2.arrival_day.value : curDate.getDate();
       var month = ( form2 && form2.arrival_date ) ? form2.arrival_date.value.substr(4, 2) : ( curDate.getMonth() + 1 );
       var year = ( form2 && form2.arrival_year ) ? form2.arrival_year.value : ( curDate.getYear() );

       var nights = ( form3 && form3.nights ) ? form3.nights.value : 1;
       var rooms = ( form3 && form3.rooms ) ? form3.rooms.value : 1;
       var adults = ( form3 && form3.adults ) ? form3.adults.value : 1; 

       var url = 'http://hotelapp.ibooking.com/hotel_net/ProcessExternalAction.aspx?command=start_from_tp_site&id_prov=' + escape(id_prov);
       
       if (id_mpln)
       {
           url += "&id_mpln=" + id_mpln;
       }

       url += "&start_date=" + escape( year + month + day );
       url += "&nights=" + escape( nights ) + "&quantity=" + escape( rooms ) + "&adults=" + escape( adults ) + "&childs=0";
       url += "&t=" + ( new Date() ).getTime() + "&tp_site=Y";

       if (lng)
       {
          url += "&lng=" + escape(lng);
       }

       var newWin = window.open(url,'search','dependent=yes,width=600,height=610,titlebar=yes,top=0,left=0,scrollbars=yes');
    }   
}

function WriteRemoteSearchData( id_search_group, for_provider )
{
	var result = "";
    	result += "<script type=\"text/javascript\">\
        	var remote_search_hotels = new Array();\
        	var remote_search_max_rooms = 1;\
        	var remote_search_max_adults = 1;\
        	var remote_search_meal_plans = new Array();\
        	</script>";

        result += "<script type=\"text/javascript\" src=\"http://hotelapp.ibooking.com/remote_search_info.asp" 
        	+ (for_provider ? ("?provider_id=" + id_search_group) : ("?search_group_id=" + id_search_group))
        	+ "\"></script>";
	result += "<script type=\"text/javascript\">remoteSearchData = new iBookingRSData(" + (for_provider ? ("0, \"" + id_search_group + "\"") : ("\"" + id_search_group + "\"")) + ");</script>";
	document.write(result);

	result = "<script type=\"text/javascript\">\
		if( remote_search_hotels     ) remoteSearchData.hotels    = remote_search_hotels;\
		if( remote_search_max_rooms  ) remoteSearchData.maxRooms  = remote_search_max_rooms;\
		if( remote_search_meal_plans ) remoteSearchData.mealPlans = remote_search_meal_plans;\
		if( remote_search_max_adults ) remoteSearchData.maxAdults = remote_search_max_adults;\
		</script>";

	document.write( result );
}

function UpdateSelectors( form1, form2, form3 )
{
	if( remote_search_hotels )
		iBookingRSThisPtr.hotels = remote_search_hotels;
	if( remote_search_max_rooms )
		iBookingRSThisPtr.maxRooms = remote_search_max_rooms;
	if( remote_search_max_adults )
		iBookingRSThisPtr.maxAdults = remote_search_max_adults;
	if( remote_search_meal_plans )
		iBookingRSThisPtr.mealPlans = remote_search_meal_plans;

	if( form1 && form1.hotel_location )
		iBookingRSThisPtr.buildSelector( form1.hotel_location, "hotels" );

        if( form1 && form1.meal_plan )
        	iBookingRSThisPtr.buildSelector( form1.meal_plan, "meal_plans" );

	if( form3 && form3.nights )
		for( var i = 0; i < 28; ++i )
			form3.nights.options[i] = new Option( i + 1, i + 1 );

	if( form3 && form3.rooms )
		iBookingRSThisPtr.buildSelector( form3.rooms, "rooms" );
	if( form3 && form3.adults )
		iBookingRSThisPtr.buildSelector( form3.adults, "adults" );
}
