function switchTab(tabName)
{
	tab=document.getElementById(tabName+'Tab');
	oldTab=document.getElementById(oldTabName+'Tab');
	tabContent=document.getElementById(tabName);
	oldTabContent=document.getElementById(oldTabName);
	
	switch (oldTab.className)
	{
		case 'tabSelected':
			oldTab.className='tab';
		break;
		case 'tabFirstSelected':
			oldTab.className='tabFirst';
		break;
		case 'tabLastSelected':
			oldTab.className='tabLast';
		break;

	}
	switch (tab.className)
	{
		case 'tab':
			tab.className='tabSelected';
		break;
		case 'tabFirst':
			tab.className='tabFirstSelected';
		break;
		case 'tabLast':
			tab.className='tabLastSelected';
		break;
	}
	
	oldTabName=tabName;
	
	oldTabContent.style.display='none';
	tabContent.style.display='block';
	
	return true;
}

function displayReview(referrer,reviewId)
{
	div=document.getElementById('reviewPopup');
	div.style.display='none';
	
	// store position of comment clicked;	
	position=getPagePosition(referrer);


	url='/reviewPopup.php?reviewId='+escape(reviewId)+'&category='+escape(oldTabName);
	vars=null;
	ajax(url, vars, reviewCallBack);
	//stop tic 'bouncing'
	tic=document.getElementById('reviewTic');
	if (tic.style.display=="block")	tic.style.display='none';

	return false;
}


function hideReviewContent()
{
	div=document.getElementById('reviewPopup');
	div.style.display='none';
	
	tic=document.getElementById('reviewTic');
	tic.style.display='none';
	return false;

}

function reviewCallBack(response)
{
	div=document.getElementById('reviewPopup');
	tic=document.getElementById('reviewTic');

	rPopDiv=div;
	rPopTic=tic;

	setOpacity(div,0);	
	setOpacity(tic,0);	
	opacity=0;
	if (timer)
	{
		window.clearInterval(timer);
	}
	timer=window.setInterval('updateOpacity()',opacityRate)

	div.style.display='block';
	//hotelId='';
	tic.style.display='block';
	controls='<div id="reviewInfoControls" style="float:right;">';
	controls+='<a href="#" onclick="return hideReviewContent()">'+"<\/a><\/div>";
	html=controls;

	divContent=document.getElementById('reviewContent');
	html+=response;
	//html+='<div id="hideReviewLink"><a href="" onclick="return hideReviewContent()">[close]<\/a>'
	
	divContent.innerHTML=html;

	div=document.getElementById('reviewPopup');
	divHeight=parseInt(div.offsetHeight);
	divWidth=parseInt(div.offsetWidth);


	ticHeight=parseInt(tic.offsetHeight);
	tic.style.display='block';
	tic.style.left=(position[0]+20)+'px';
	tic.style.top=(position[1]-ticHeight-2)+'px';

	if (position[0]>(screen.width/2)) position[0]=(screen.width/2)-20;
	else
	{
		 position[0]-=30;
	}
	div.style.left=position[0]+'px';
	div.style.top=(position[1]-divHeight-ticHeight)+'px';

	div.style.display='block';



}


function getPagePosition(obj)
{
	r=Array;
	x=0;
	y=0;
		while(obj)
		{
			x += parseInt(obj.offsetLeft);
			y += parseInt(obj.offsetTop);
			obj = obj.offsetParent || null;
		}
	r[0]=x;
	r[1]=y;
	return r;

}

function getMousePosition(e)
{
//adapted from
//http://www.quirksmode.org/js/events_properties.html#position
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	position=new Array;
	position[0]=posx;
	position[1]=posy;
	return position;

	
}

function ajax(url, vars, callbackFunction){
        var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
 
        request.open("GET", url, true);
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
 
        request.onreadystatechange = function(){
			
                if (request.readyState == 4 && request.status == 200) {
 
                        if (request.responseText){
 
                                callbackFunction(request.responseText);
                        }
                }

        }
        request.send(vars);
}


function updateOpacity()
{
	opacity=opacity+0.1;
	setOpacity(rPopDiv,opacity);
	setOpacity(rPopTic,opacity);
	if (opacity>=1) window.clearInterval(timer);
	return false;
}

function setOpacity(obj,opacity)
{
	if (navigator.appName=="Microsoft Internet Explorer")
	{
		obj.style.filter="alpha(opacity="+opacity*100+")";
	}
	else
	{
		obj.style.opacity=opacity;
	}
}


function scrollDiv(amount)
{
div=document.getElementById('filmstrip');
newScroll=div.scrollLeft+amount;
if (newScroll<0) newScroll=0;
div.scrollLeft=newScroll;
return false;
}
