	var firstEntry = 0;
	var entryCount = 10;
	var searchText;
	
	document.thread = {};
	document.thread.totalThreadCount; // will be changed by a template
	document.thread.ascending;
	document.thread.pageNumber;    
/*
example use:
in your html file, set threadid and load template
<div id="tunaReviewFields" class="tremorContent">
<!--
	#set($threadId = 1234)
	#load(template/microsite_messageboard_thread_page.thtml.thtml)
-->
</div>

make sure you have <div id="pageNavigation"></div>
in the html file 

*/


	
function DisplayPagination(threadId, start, count, pageCount)
{
    var pageNumber = 0;
    if(start == 0)
    {
        pageNumber = 1;
    } 
    else 
    {
	if(document.thread.ascending==true)
	{
            if(pageNumber % 1 > 0)
            pageNumber = (((start * -1) + count) / count);
            {
            	pageNumber = pageNumber + 1;
            }
    	}
    	else
    	{
            pageNumber = (((start - count)* -1) / count);
            if(pageNumber % 1 > 0)
            {
            	pageNumber = pageNumber + 1;
            }
    	}
     }
    
    //alert("in DisplayPagination. start="+start +", pageCount="+pageCount +", pageNumber="+pageNumber);
    if (pageNumber > pageCount) pageNumber = pageCount;
    showPageNav(threadId, start, 'pageNavigation', pageCount, pageNumber);
    showPageNav(threadId, start, 'pageNavigation2', pageCount, pageNumber);
}


function showPageNav(threadId, start, positionId, pageCount, pageNumber)
{
	pageCount = Math.round(pageCount);
	pageNumber = Math.round(pageNumber);
    	var element = document.getElementById(positionId);
	//var element1 = document.getElementById(positionId + '1');
    
	if(pageCount <= pageNumber) //We're at the first page...don't provide the user a link to click first or prev
	{ 
		var pagerHtml = '&#171 First | Prev | ';
	}
	else
	{
		var pagerHtml = '<a href="" onclick="First('+threadId+');return false;">&#171 First </a> | <a href="" onclick="Prev('+threadId+');return false;"> Prev </a> | ';
    }
	
    var k;	
    if(document.thread.ascending==true)
    {
        var i = pageNumber;
	    k = pageNumber + 5;
        if((k > pageCount) && (pageCount > 5))
        {
            i = pageCount - 4;
            pagerHtml += '...| ';
        }
    
        for (i; i <= pageCount; i++)
        { 
            if(i == pageNumber)
            {
                pagerHtml += i + ' | ';
            }
            else if(i < k)
            {
                pagerHtml += '<a href="#" onclick="showPage(' + threadId + ', ' + i + ', ' + pageCount + ');return false;">' + i + '</a> | ';
            } 
            else 
            {
                pagerHtml += '...| ';
                break;
            }
        }    
    }
    else //descending
    {
	    //alert("in showPageNav >pageNumber="+pageNumber +"*, pageCount="+pageCount+"*, start="+start);
        var i = pageNumber;
	    if (pageNumber > 5)
		    k = pageNumber - 5;
	    else
	    {	
		    k = pageNumber + 5;
		    if (i <=5 && pageCount <= 5) k = 1;
		    else if (k > pageCount) k = pageCount;
	    }

        if((k < pageCount) && (pageCount > 5))
        {
            //i = pageCount - 4;

            if (pageNumber==pageCount) pagerHtml += ''; //we're on the first page
	    else pagerHtml += '...| ';
        }
    
        if (i > k)
	    {
		    for (i; i >= k; i--)
    	    { 
        	    //alert(i);
        	    if(i == pageNumber)
        	    {
            	    pagerHtml += (pageCount - i + 1) + ' | ';
        	    }
        	    else if(i > k)
        	    {
            	    pagerHtml += '<a href="#" onclick="showPage(' + threadId + ', ' + i + ', ' + pageCount + ');return false;">' + (pageCount - i + 1) + '</a> | ';
        	    } 
        	    else 
        	    {
                    pagerHtml += '...| ';
                    break;
        	    }
    	    }  
	    }  
	    else
	    {
		    for (i; k >= i; k--)
    	    { 
            	//alert("k="+k+", i="+i);
            	if(k == pageNumber)
            	{
                	pagerHtml += (pageCount - i + 1) + ' | ';
            	}
            	else if(i < k)
            	{
                	pagerHtml += '<a href="#" onclick="showPage(' + threadId + ', ' + k + ', ' + pageCount + ');return false;">' + (pageCount - k + 1) + '</a> | ';
            	} 
            	else 
            	{
                    pagerHtml += '...| ';
                    break;
            	}
        	}  
	    }        
    }
	
	if(pageNumber == 1)
	{ //we're at the last page...don't provide links for next or last
		pagerHtml += ' Next | Last &#187;';
	}
	else
	{
		pagerHtml += '<a href="" onclick="Next('+threadId+');return false;"> Next</a> | <a href="" onclick="Last('+threadId+');return false;">Last &#187;</a>';
    }
	
	element.innerHTML = pagerHtml;
	//element1.innerHTML = pagerHtml;
}

    
 

function ReloadContent(threadId, start)
{
	//alert(start);
	document.getElementById('posts').innerHTML = "<p style='font-size:14px; margin:0;'>loading...</p>";
	Tremor.Content.LoadControl('posts','template/microsite_messageboard_thread_page.thtml',{threadId: threadId, start:start, count:entryCount, searchText:searchText, reloaded:true});
}
	
	
function Prev(threadId) 
{ 
    //alert("Prev_new. firstentry="+firstEntry +", entryCount="+entryCount + ". document.thread.ascending="+document.thread.ascending);
    if(document.thread.ascending==true)
    {
        if(firstEntry > -entryCount)
        {
            //alert("firstEntry > -entryCount")
            firstEntry = -entryCount;
        }
        if (firstEntry < entryCount)
        {
		    firstEntry +=entryCount;
	    }
	    ReloadContent(threadId, firstEntry);	    
    }
    else //descending
    {
        if (firstEntry > -document.thread.totalThreadCount + entryCount)
        {
            if (firstEntry < entryCount)
            {
                //alert("Prev_new. firstentry="+firstEntry +", entryCount="+entryCount + ". document.thread.ascending="+document.thread.ascending);	            
		firstEntry -=entryCount;
                if (firstEntry >0) firstEntry=0;	
                if (firstEntry < -document.thread.totalThreadCount + entryCount) firstEntry=-document.thread.totalThreadCount + entryCount;
    	        ReloadContent(threadId, firstEntry);        		    
	        }  
	    }      
    }
}
		
		
function Next(threadId)
{ 
	if(document.thread.ascending)
	{	
		if (firstEntry > -document.thread.totalThreadCount + entryCount)
		{	    
	        firstEntry = firstEntry - entryCount; 
		    //alert("Next_new. firstentry="+firstEntry +", entryCount="+entryCount + ". document.thread.ascending="+document.thread.ascending);
	        ReloadContent(threadId, firstEntry);	            
	    }
	}
	else
	{
	//alert('firstEntry: '+firstEntry+' entryCount: '+entryCount);
        if (firstEntry < 0)
        {	        
            if(firstEntry > -entryCount)
            {
                firstEntry = 0;
                
            }
            else if (firstEntry < entryCount)
            {
	            firstEntry +=entryCount;
                if (firstEntry >0) firstEntry = 0;
            }
            //alert("Next_new. firstentry="+firstEntry +", entryCount="+entryCount + ". document.thread.ascending="+document.thread.ascending);
            ReloadContent(threadId, firstEntry);	  
        }                          
    }          
}


function userPosted(threadId){

	
	//add a tick to GA
	pageTracker._trackPageview('/waffles/reviews_thanks');

	//add vp tracking
	Tremor.Ajax.Call("tracking","track",{tremorPageName:'userClick_review_thanks'});
	
	if(document.thread.ascending){		
        firstEntry = 0;
	firstEntry = firstEntry-1;
        ReloadContent(threadId, firstEntry);
    }
    else{
        firstEntry = -document.thread.totalThreadCount + entryCount;
        firstEntry = firstEntry-1;
	ReloadContent(threadId, firstEntry);	    
    }
	

	//hide the form and show the "thank you" div
	$('#reviewForm').css({ display:"none" });
	$('#bg_reviews').css({ background:"url(images/bg_reviews_thanks.jpg) no-repeat" });
	$('#reviewsThanks').css({ display:"block" });
}

function First(threadId)
{
    if(document.thread.ascending)
    {		
        firstEntry = 0;
        ReloadContent(threadId, firstEntry);
    }
    else
    {
        firstEntry = -document.thread.totalThreadCount + entryCount;
        ReloadContent(threadId, firstEntry);	    
    }
}
	
	
function Last(threadId)
{
    if(document.thread.ascending)
    {			
        firstEntry = -document.thread.totalThreadCount + entryCount;
        ReloadContent(threadId, firstEntry);
    }
    else
    {
        firstEntry = 0;
        ReloadContent(threadId, firstEntry);
    }
}
	

function showPage(threadId, pageNumber, pageCount) 
{

    if(pageNumber == 1)
    {
        First();
    } 
    else if(pageNumber == pageCount) 
    {
        Last();
    } 
    else 
    {
	    if(document.thread.ascending==true)
	    {
            pageStart = pageNumber * -entryCount + entryCount;
            firstEntry = pageStart;
            ReloadContent(threadId, firstEntry);
        }
        else
        {
            //alert("in showPage->pageNumber="+pageNumber + ", pageCount="+pageCount);
	        if (pageNumber >= pageCount)
	            pageStart = -document.thread.totalThreadCount;
	        else
		        pageStart = -document.thread.totalThreadCount + ((pageCount - pageNumber + 1) * entryCount);
            firstEntry = pageStart;
	        document.thread.pageNumber = pageNumber;
            ReloadContent(threadId, firstEntry);
        }
    }
}  	

/*================================*/

function updateMessageBoardMessage(op, start)
{
    alert(op + ' ' + start);
    
    var isVisible;
    var isHighlighted;
    var Id;
    var updateElement;
        
    if (op=="hide")
    {
        updateElement = document.getElementById("hide");
        isVisible = updateElement.checked;
        if (isVisible==true) isVisible=0;
        else isVisible=1;
        Id = updateElement.value;
    }
    else if(op=="highlight")
    {
        updateElement = document.getElementById("highlight");
        isHighlighted = updateElement.checked;
        if (isHighlighted==true) isHighlighted=0;
        else isHighlighted=1;
        Id = updateElement.value;
    }
    alert(updateElement.checked);
    alert(updateElement.value);
        
    var resp = Tremor.Ajax.Call("panel","UpdateMessageBoardMessage",{messageId:Id, visible:isVisible, highlighted:isHighlighted},{sync:true});
    if(resp != null)
    {
        //Tremor.Content.LoadControl($('adminMessageList').parentNode,'../template/messageBoard_Thread_Page.thtml');
        ReloadContent(start);

    } else {}
}

