// Handset page reviews JavaScript

function requestReviews(hsId, pageNo)
{
	var xmlHttp = getXMLHttp();

	xmlHttp.onreadystatechange = function()
	{
		if(xmlHttp.readyState == 4)
		{
			handleResponse(xmlHttp.responseText);
		}
		else
		{
			document.getElementById('handsetReviewsContainer').innerHTML = '<div id="loadingreviews"><p>Loading reviews...</p></div>';
		}
	}

	xmlHttp.open("GET", "/handset-specific-pages-ajax.php?reviewrequest=true&hsid=" + hsId + "&pageno=" + pageNo, true);
	xmlHttp.send(null);
}

function handleResponse(response)
{
	$("#handsetReviewsContainer").fadeOut("fast", function(){
		document.getElementById('handsetReviewsContainer').innerHTML = response;
		$("#handsetReviewsContainer").fadeIn("fast");
	});
}

function requestNewPage(e)
{
	var handsetId   = document.getElementById("hsid").value;
	var urlPageNo   = document.getElementById("reviewsPage").value;

	// Call AJAX.
	requestReviews(handsetId, urlPageNo);

}

function goSelectPage(e)
{
	document.getElementById("reviewsPage").value = document.getElementById("revSelectBox").selectedIndex;
	requestNewPage(e);
	checkLinkHighlight();
}

function goPrevPage(e)
{
	if(document.getElementById("reviewsPage").value != 0)
	{
		var newCurrentPageNo = parseInt(document.getElementById("reviewsPage").value) - 1;
		document.getElementById("reviewsPage").value = parseInt(document.getElementById("reviewsPage").value) - 1;
		document.getElementById("revSelectBox").selectedIndex = newCurrentPageNo;
		requestNewPage(e);
	}

	checkLinkHighlight();
	return false;
}

function goNextPage(e)
{
	if((parseInt(document.getElementById("reviewsPage").value) + 1) != parseInt(document.getElementById("totalPages").value))
	{
		var newCurrentPageNo = parseInt(document.getElementById("reviewsPage").value) + 1;
		document.getElementById("reviewsPage").value = parseInt(document.getElementById("reviewsPage").value) + 1;
		document.getElementById("revSelectBox").selectedIndex = newCurrentPageNo;
		requestNewPage(e);
	}

	checkLinkHighlight();
	return false;
}

function checkLinkHighlight()
{
	if(document.getElementById("reviewsPage").value == 0)
	{
		document.getElementById("prevpagelink").style.color = '#999999';
		document.getElementById("prevpagelink").style.cursor = 'default';
	}
	else
	{
		document.getElementById("prevpagelink").style.color = '#003399';
		document.getElementById("prevpagelink").style.cursor = 'pointer';
	}
	
	if((parseInt(document.getElementById("reviewsPage").value) + 1) == parseInt(document.getElementById("totalPages").value) || document.getElementById("totalPages").value <= 1)
	{
		document.getElementById("nextpagelink").style.color = '#999999';
		document.getElementById("nextpagelink").style.cursor = 'default';
	}
	else
	{
		document.getElementById("nextpagelink").style.color = '#003399';
		document.getElementById("nextpagelink").style.cursor = 'pointer';
	}
}

if(document.getElementById("revSelectBox"))
{
	var revSelectBox = document.getElementById("revSelectBox");
	attachEventListener(revSelectBox, "change", goSelectPage, false);
}

if(document.getElementById("prevpagelink"))
{
	var prevpagelink = document.getElementById("prevpagelink");
	attachEventListener(prevpagelink, "click", goPrevPage, false);
}

if(document.getElementById("nextpagelink"))
{
	var nextpagelink = document.getElementById("nextpagelink");
	attachEventListener(nextpagelink, "click", goNextPage, false);
}

document.getElementById("reviewsPage").value = 0;
//checkLinkHighlight();