var baseBookingSrc;
var productIdsByTabId;
var tabsByProductId;
var bookingPage = false;
var currentTabId;
var currentProductId;
var currentStartDate;
var currentEndDate;
var defaultStartDateByProductId;
var defaultEndDateByProductId;
var cookiePath;
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
		document.cookie = name+"="+value+expires+"; path="+cookiePath;
}

function GetElement(productId,startDate,endDate) 
{
	var elementName = "a"+productId+startDate+endDate;
	elementName = elementName.replace(/\//g,'-');
	return document.getElementById(elementName);
}

function ReloadBookingFrame (newProductId,startDate,endDate) 
{
	var c = GetElement(currentProductId,currentStartDate,currentEndDate);
	if (c!=undefined)
	{
		c.className = c.className.replace(" selected",""); 
	}
	startDate = defaultStartDateByProductId[newProductId];
	endDate = defaultEndDateByProductId[newProductId];
	if (endDate==undefined)
	{
		endDate = "";
	}
	var e = GetElement(newProductId,startDate,endDate);
	e.className = e.className + " selected";
	if (currentProductId !=newProductId || currentStartDate != startDate || currentEndDate != endDate)
	{	
		var f = document.getElementById('bookingFrame');
		var u = unescape(baseBookingSrc) +"&productfilter=" + newProductId + "&sstartdate=" + startDate;
		if (endDate!="")
		{
			u = u + "&senddate=" + endDate;
		}
		if (newProductId!=3039)
		{
			u = u + "&pgno=1" + "&checkInDate=" + startDate;
		}
		f.src = u;		
		if (currentProductId != newProductId)
		{
			currentProductId =newProductId;
		}
		if (currentStartDate !=startDate)
		{
			createCookie("productStartDate"+newProductId,startDate,7);
			currentStartDate = startDate;
		}
		if (currentEndDate !=endDate)
		{
			createCookie("productEndDate"+newProductId,endDate,7);
			currentEndDate = endDate;
		}
		
	}
}

function ChangeBookingOptions(productId,startDate,endDate)
{
	var newTabId = tabsByProductId[productId];
	defaultStartDateByProductId[productId] = startDate;
	defaultEndDateByProductId[productId] = endDate;
	if (currentTab==newTabId)
	{
		ReloadBookingFrame(productId);
	}
	else
	{
		tabView.set("activeIndex", newTabId);
	}
}

function doTabChange(newTabId)
{
	var newState = "tab" + newTabId;
	createCookie(tabCookieName,newTabId,7);
	currentTab = newTabId;
}

var handleTabViewActiveTabChange = function (e) {
	var newValue = this.getTabIndex(e.newValue);
	doTabChange(newValue);
	if (bookingPage) 
	{	
		var newProductId = productIdsByTabId[newValue];		
		ReloadBookingFrame(newProductId);
	}
}

