var bFacilitiesBuild = false;
window.addEvent('domready', function()
{
	if ($$('.mootabs_title').length > 0)
	{
		oTabs = new mootabs('maptabcontainer', {
			activateOnLoad: 'first',
			changeTransition:'none',
			onTabChange: function(sTab) 
			{
				if (sTab == 'mapfacilities' && bFacilitiesBuild === false)
				{
					buildFacilities();
					bFacilitiesBuild = true;
				}
				init();
			}
		});
	}

	// Initialize mootools datepicker
  $$('td[class^=rate-click-item],input[class^=rate-click-item]').each( function(oElement)
  {
		oElement.addEvent('click', function(event)
		{
			aClassParts = this.get('class').split('-');
			iRate = aClassParts[3];
  		setRate(this,iRate,event);
		});
	});
});

function submitAreaSelect(oSelect)
{
  if (oSelect.value != 0)
    document.location.href = oSelect.value + '/';
}

function toggleFacilityList()
{
	iSlideTime = 700;
	iDivWidth  = 170;
	iDivHeight = 285;

	if (bAffiliateInclude) //Target position to slide div
	{
		aPosContent = findPos(document.getElementById('Content'));
    aPos = findPos(document.getElementById('btnToggleFacilityList'));

    iLeftBasePos = aPos[0]-aPosContent[0];
    iTopBasePos = aPos[1] + 30;

		//iLeftBasePos = 389;
		//iTopBasePos = 139;
		//iLeftTargetPos = iLeftBasePos;
		//iTopTargetPos = iTopBasePos + iDivHeight;
	}
	else
	{
		iLeftBasePos = 610;

		a = $('Wrapper').getCoordinates();
		b = $('mapwrapper').getCoordinates();

		iTopBasePos = (b.top-a.top);
		iLeftTargetPos = iLeftBasePos + iDivWidth;
		iTopTargetPos = iTopBasePos;
	}
	
	
	sObjectId = 'facilitylist';
	sRightMenuId = 'MenuRight';

  oFacilityList = document.getElementById('facilitylist');
  oList = document.getElementById('list');
  oListTable = document.getElementById('listtable');
  oButtonToggle = $('btnToggleFacilityList');
  if (oListTable)
  {
  	aRows = oListTable.getElementsByTagName('tr');
		iNumRows = aRows.length;
  	if (oFacilityList.style.visibility == 'visible')
  	{
  		oList.className = '';
  		oListTable.style.display = (iNumRows > 6) ? 'none' : 'block';
  		if (!bAffiliateInclude)
  	  {
  	  	xSlideTo(sObjectId, iLeftBasePos, iTopBasePos, iSlideTime);
  	  	setTimeout("xHide('"+sObjectId+"')", iSlideTime);
  	  	//xShow(sRightMenuId);
  		}
  		else
  		{
  			xHide(sObjectId);
  		}

  		if (oButtonToggle)
  		{
  			oButtonToggle.className = 'ButtonRight';
  			if(oButtonToggle.getElement('span'))
  			{
  				oButtonToggle.getElement('span.ButtonLeftText').show();
  	  			oButtonToggle.getElement('span.ButtonRightText').hide();
  			}
  		}
  	}
  	else
  	{
  		xMoveTo(sObjectId, iLeftBasePos, iTopBasePos);
  	  xShow(sObjectId);
  	  if (!bAffiliateInclude)
  	  {
  	  	xSlideTo(sObjectId, iLeftTargetPos, iTopTargetPos, iSlideTime);
  	  	//setTimeout("xHide('"+sRightMenuId+"')", iSlideTime);
  	  	if (iNumRows > 6)
  			{
  	  		setTimeout("oList.className = 'vertscroller'; oListTable.style.display = 'block'", iSlideTime);
  			}
  		}
  		if (oButtonToggle)
  		{
  			oButtonToggle.className = 'ButtonLeft';
			if(oButtonToggle.getElement('span'))
  			{
  				oButtonToggle.getElement('span.ButtonLeftText').hide();
  	  			oButtonToggle.getElement('span.ButtonRightText').show();
  			}
  		}
  	}
  }
}

function showTabPage(oElem, iIndex)
{
	aItems = new Array('mapresultlist', 'mapregionlinks', 'mapfacilities', 'mapextra', 'mapregioninfo', 'mapccperiod');
	if (oElem.nodeName != 'UL')
	{
		oUL = oElem.parentNode.parentNode;
	}
	else
	{
		oUL = oElem;
	}

	// Hide all div and unset all tab styles
	x = 0;
	for(i=0; i<aItems.length; i++)
	{
		oItemToShow = document.getElementById(aItems[i]);
		if (oItemToShow)
		{
			oItemToShow.style.display = 'none';
			if (oUL.childNodes[x])
			{
				if (oUL.childNodes[x].nodeName == '#text') x++; //Firefox skip textnode
			  oUL.childNodes[x].className = '';
			}
			x++;
		}
	}

	// Show div and set tab style
	oElem.parentNode.className = 'current';
	oItemToShow = document.getElementById(aItems[iIndex]);
	oItemToShow.style.display = 'block';

	$$('.searchnavigation').each(function(el) {
			sVisible = (aItems[iIndex] == 'mapresultlist') ? 'visible' : 'hidden';
			el.setStyle('visibility', sVisible);
	});

	if (aItems[iIndex] == 'mapfacilities' && bFacilitiesBuild === false)
	{
		buildFacilities();
		bFacilitiesBuild = true;
	}

	init();
	//window.scroll(0,window.screen.availHeight);
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function setRate(oElement, iRate, event)
{
	oElement = $(oElement);
	if (oElement.get('tag') == 'td')
	{
		oCheckbox = oElement.getElement('input[type=checkbox]');
		oCheckbox.set('checked', !oCheckbox.get('checked') );
	}

	event.stopPropagation();

	oForm = $('mapform');
	oForm.elements["procedure"].value = 'changeRateSettings';
	oForm.submit();
}

function setAcceptatiePeriod()
{
	var oForm = document.forms["search"];
	var oRadioBoxPeriod = $('iAcceptPeriodActive_first');
	oRadioBoxPeriod.checked = true;

	oForm.elements["procedure"].value = 'changeSearchCCAcceptPeriod';
	oForm.submit();
}

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=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function addCompareCampsite(oCheckbox, iCampsite)
{
	var sCompareIDs = new String;
	var bCampIDFound = false;
  sCookieVal = readCookie("compare");
  if (sCookieVal)
  {
    aCompareIDs = sCookieVal.split("|");
    for (i=0; i<aCompareIDs.length; i++)
    {
    	if (aCompareIDs[i] == iCampsite)
    	{
    		bCampIDFound = true;
    		if (oCheckbox.checked)
    		{
    		  sCompareIDs += aCompareIDs[i]+"|";
    	  }
    	}
    	else
    	{
    	  sCompareIDs += aCompareIDs[i]+"|";
  	  }
    }
  }

  if (!bCampIDFound)
  {
    sCompareIDs += iCampsite+"|";
  }
  //Strip last pipe char
  sCompareIDs = sCompareIDs.substring(0, sCompareIDs.length-1);
  createCookie("compare", sCompareIDs, 30);
}