var bViewText=false;
var bAutoRefresh=false;
var functions_initialized = false
var txtView=false;
var idPageNr=false;
var iSubPageNr=false;
var idSubPageCount=false;
var idCurrentPageNr=false;
var btnPrevPage=false;
var btnNextPage=false;
// show specific pagenumber
function OnSet()
{
  functions_init();
	txtView.SetPageNumber( parseInt(idPageNr.value,10),  parseInt(iSubPageNr.value,10)-1 );	
	OnUpdate();			
}

// show previous page
function OnPreviousPage()
{
  functions_init();
	iPrevPageNr = txtView.GetPreviousPageNr(); // get previous pagenumber
	if (iPrevPageNr >=100) txtView.SetPageNumber(iPrevPageNr,0);
	OnUpdate();
}

// show next page
function OnNextPage()
{
  functions_init();
	iNextPageNr = txtView.GetNextPageNr();     // get next pagenumber
	if (iNextPageNr <=899) txtView.SetPageNumber(iNextPageNr,0);
	OnUpdate();
}

// show previous subpagenumber
function OnPreviousSubPageNumber()
{
  functions_init();
	iPageNr		= txtView.GetPageNumber();		 // current pagenumber
	iSubNr		= txtView.GetSubPageNumber();  // current subpagenumber
	if (iSubNr-1 >=0)
	{
		txtView.SetPageNumber(iPageNr,iSubNr-1);
	}
	OnUpdate();
}

// show next subpagenumber
function OnNextSubPageNumber()
{
  functions_init();
	iPageNr		= txtView.GetPageNumber();		 // current pagenumber
	iSubNr		= txtView.GetSubPageNumber();  // current subpagenumber
	iMaxSubs  = txtView.GetSubPageCount();   // total subpages for this page
	if (iSubNr+1 < iMaxSubs)
	{
		txtView.SetPageNumber(iPageNr,iSubNr+1);
	}
	OnUpdate();
}

// switch between teletext/text mode
function SwitchView()
{
  functions_init();
	var button =document.getElementById("idSwitchView");
	if ( bViewText ==  false )
	{
		button.innerHTML = "Graphics";
		bViewText = true;
	}
	else
	{
		button.innerHTML = "Text";
		bViewText = false;
	}
	txtView.SwitchViewMethod();
}

// update properties
function OnUpdate()
{
  functions_init();
	iPageNr     = txtView.GetPageNumber();		 // current pagenumber
	iSubNr      = txtView.GetSubPageNumber();  // current subpagenumber
	iMaxSubs    = txtView.GetSubPageCount();   // total subpages for this page
	iPrevPageNr = txtView.GetPreviousPageNr(); // get previous pagenumber
	iNextPageNr = txtView.GetNextPageNr();     // get previous pagenumber
	
	iSubNr = iSubNr+1;
	idPageNr.value = iPageNr;
	iSubPageNr.value = iSubNr;
	
	idSubPageCount.innerHTML = iSubNr + "/"+ iMaxSubs;
	idCurrentPageNr.innerHTML = iPageNr;
	btnPrevPage.innerHTML = iPrevPageNr +"&nbsp;";
	btnNextPage.innerHTML = "&nbsp;&nbsp;"+ iNextPageNr;
}

function OnNumberClicked(iNumber)
{
    functions_init();
	txtView.OnNumberClicked(iNumber);
	OnUpdate();
}

function OnConcealClicked()
{	
  functions_init();
  txtView.SwitchConcealMethod();
  OnUpdate();
}

function OnAutoRefresh()
{
	var button =document.getElementById("idAutoRefresh");
	if ( bAutoRefresh ==  false )
	{
		button.innerHTML = "No Refresh";
		bAutoRefresh = true;
	}
	else
	{
		button.innerHTML = "Auto Refresh";
		bAutoRefresh = false;
	}

	txtView.SwitchAutoRefresh();
	OnUpdate();
}

function functions_init()
{
  if(!functions_initialized )
  {
    functions_initialized  = true;
  if(document.getElementById("txtView"))
    txtView = document.getElementById("txtView"); 
  if(!idPageNr)
    idPageNr = CreateControl_getObject("idPageNr");
  if(!iSubPageNr)
    iSubPageNr = CreateControl_getObject("iSubPageNr");
  if(!idSubPageCount)
    idSubPageCount = CreateControl_getObject("idSubPageCount");
  if(!idCurrentPageNr)
    idCurrentPageNr = CreateControl_getObject("idCurrentPageNr");
  if(!btnPrevPage)
    btnPrevPage = CreateControl_getObject("btnPrevPage");
  if(!btnNextPage)
    btnNextPage = CreateControl_getObject("btnNextPage");
  }
}
		
