var host = '';

function setAjaxHost(host)
{
	this.host = host;
}

function ax_getWelcomePackPrice(num_guests)
{
	var url = host + '/ajax?method=getAddOnPrice&addon_name=welcomepack&num_bedrooms=0&num_guests=' + num_guests ;
	new Ajax.Request(url, { method:'get',onSuccess:ax_getWelcomePackPrice_success,onFailure:ax_failure,onException:ax_exception} );
}

function ax_getWelcomePackPrice_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price))
	{
		//do nothing
	}
	else
	{
		$('welcomepack_addonprice').value=price.toFixed(2);
	}
}

function ax_getWelcomePackPriceAndUpdate(num_guests)
{
	var url = host + '/ajax?method=getAddOnPrice&addon_name=welcomepack&num_bedrooms=0&num_guests=' + num_guests ;
	new Ajax.Request(url, { method:'get',onSuccess:ax_getWelcomePackPriceAndUpdate_success,onFailure:ax_failure,onException:ax_exception} );
}

function ax_getWelcomePackPriceAndUpdate_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price))
	{
		//do nothing
	}
	else
	{
		$('welcomepack_addonprice').value=price.toFixed(2);
		updateBookingChargeInfo();
	}
}

//used on rental site
//gets days property is booked on and calls initArrivalCalendar and initDepartureCalendar 
//which mark those days off on the respective calendars
function ax_getPropertyBookedDates(property_id)
{
	var url = host + '/ajax?method=getPropertyBookedDates&property_id=' + property_id ;
	new Ajax.Request(url, { method:'get',onSuccess:ax_getPropertyBookedDates_success,onFailure:ax_failure,onException:ax_exception} );
}

function ax_getPropertyBookedDates_success(transport, json)
{
	if(json)
	{
		initArrivalCalendar(json);
		initDepartureCalendar(json);
	}
	else
	{
		//alert(transport.responseText);
	}
}


//http://owner.floridarentalsource.com/ajax?method=getBookingTouristDevelopmentTax&property_id=6&charge=1000
function ax_getBookingTDTax(charge, property_id)
{
	var url = host + '/ajax?method=getBookingTouristDevelopmentTax&property_id=' + property_id +'&charge=' + charge;
	new Ajax.Request(url, { method:'get',onSuccess:ax_getBookingTDTax_success,onFailure:ax_failure,onException:ax_exception} );
}

function ax_getBookingTDTax_success(transport)
{
	var total = new Number(transport.responseText);
	if (isNaN(total))
	{
		//do nothing
	}
	else
	{
		$('booking_tourist_development_tax_charge').value=total.toFixed(2);
	}
}

function ax_getAddOnPrices(num_weeks)
{
	var weeklyrateaddons = ['playpen_addonprice','cot_addonprice','highchair_addonprice','stroller_addonprice','bbq_addonprice','safe_addonprice','wheelchair_addonprice','poolheat_addonprice'];
	var num_guests = 1;

	var prices = getAddOnPricesAsArray();

	for (var i=0;i<prices.length;i++)
	{
		var p;
		p = new Number(prices[i].value);
		var addon_id = prices[i].id;

		//if this is a weekly rate addon, set price based on number of weeks booked
		if(weeklyrateaddons.indexOf(addon_id) > -1 )
		{
			var addon_name = addon_id.substring(0,addon_id.indexOf('_addonprice'));
			var url = host + '/ajax?method=getAddOnPrice&addon_name=' + addon_name + '&num_bedrooms=0&num_guests=' + num_guests + '&num_weeks=' + num_weeks ;
			switch (addon_id)
			{
				case 'playpen_addonprice':
					var options = {method:'get', onSuccess:ax_playpen_success,onFailure:ax_failure,onException:ax_exception};
					break;
				case 'cot_addonprice':
					var options = {method:'get', onSuccess:ax_cot_success,onFailure:ax_failure,onException:ax_exception};
					break;
				case 'highchair_addonprice':
					var options = {method:'get', onSuccess:ax_highchair_success,onFailure:ax_failure,onException:ax_exception};
					break;
				case 'stroller_addonprice':
					var options = {method:'get', onSuccess:ax_stroller_success,onFailure:ax_failure,onException:ax_exception};
					break;
				case 'bbq_addonprice':
					var options = {method:'get', onSuccess:ax_bbq_success,onFailure:ax_failure,onException:ax_exception};
					break;
				case 'safe_addonprice':
					var options = {method:'get', onSuccess:ax_safe_success,onFailure:ax_failure,onException:ax_exception};
					break;	
				case 'wheelchair_addonprice':
					var options = {method:'get', onSuccess:ax_wheelchair_success,onFailure:ax_failure,onException:ax_exception};
					break;		
				case 'poolheat_addonprice':
					var options = {method:'get', onSuccess:ax_poolheat_success,onFailure:ax_failure,onException:ax_exception};
					break;		
				default:
					var options = {method:'get', onSuccess:ax_success,onFailure:ax_failure,onException:ax_exception};
					break;																														
			}
			new Ajax.Request(url, options);
		}
	}
}

function ax_playpen_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('playpen_addonprice').value=price.toFixed(2);}
}
function ax_cot_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('cot_addonprice').value=price.toFixed(2);}
}
function ax_highchair_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('highchair_addonprice').value=price.toFixed(2);}
}
function ax_stroller_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('stroller_addonprice').value=price.toFixed(2);}
}
function ax_bbq_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('bbq_addonprice').value=price.toFixed(2);}
}
function ax_safe_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('safe_addonprice').value=price.toFixed(2);}
}
function ax_wheelchair_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('wheelchair_addonprice').value=price.toFixed(2);}
}
function ax_poolheat_success(transport)
{
	var price = new Number(transport.responseText);
	if (isNaN(price)){}
	else{$('poolheat_addonprice').value=price.toFixed(2);}
}

function ax_success(transport)
{
	//do nothing
	return;
}

function ax_failure(transport)
{
	//alert('An AJAX response failure occured.');
	return;
}

function ax_exception(transport,error)
{
	//alert('An AJAX exception has occured: ' + error.message);
	return;
}