/*-------------------------GLOBALS-------------------------*/

var currentRecord = 0
var pagingSize 	= 25
var currentPages
var totalpages
var recordCount 
var previousPage
var currentPage
var nextPage
var active = false;

/*---------------------------------------------------------------*/

Event.observe(window, 'load', init, false);

function init() {
	currentRecord = 0;
	var idx= setTimeout(
		function() {
			getRecordCount();
		}, 100
	);
	
	getTableData();
}



function getRecordCount() {
	sstr= document.frmtableview.txt_search.value;
	pagingSize = document.frmtableview.lst_perpage.value;
	var myAjax = new Ajax.Request(
			'processevents.php?action=count&s_str='+sstr, 
			{
				method: 'get', 
				parameters: '', 
				onComplete: function(response) {
				recordCount = response.responseText;
				totalPages = Math.ceil(parseInt(recordCount,10)/parseInt(pagingSize,10));
				$('totalPag').innerHTML =  'of ' + totalPages;
				showNavigation();
					}
			});
}


function getNextData() {
	sstr= document.frmtableview.txt_search.value;
	active = true;
	var myAjax = new Ajax.Request(
			'processevents.php?action=page&current='+(currentRecord)+'&size='+pagingSize+'&s_str='+sstr,  
			{
				method: 'get', 
				parameters: '', 
				onComplete: function(response) {
					nextPage = eval('(' + response.responseText + ')');
					active = false;
					drawTable(nextPage, $('view'));
				}
			});
}


function getPreviousData() {
	sstr= document.frmtableview.txt_search.value;
		active = true;
		var myAjax = new Ajax.Request(
				'processevents.php?action=page&current='+(currentRecord)+'&size='+pagingSize+'&s_str='+sstr, 
				{
					method: 'get', 
					parameters: '', 
					onComplete: function(response) {
						previousPage = eval('(' + response.responseText + ')');
						active = false;
						drawTable(previousPage,$('view'));
					}
				});
}

function getTableData() {
	sstr= document.frmtableview.txt_search.value;
	pagingSize = document.frmtableview.lst_perpage.value;
	var myAjax = new Ajax.Request(
			'processevents.php?action=page&current='+currentRecord+'&size='+pagingSize+'&s_str='+sstr, 
			{
				
				method: 'get', 
				parameters: '', 
				onComplete: function(response) {
					currentPage = eval('(' + response.responseText + ')');
					drawTable(currentPage, $('view'));
				}
			});
}



function drawTable(page, contain) {

	table = 	'<table width="100%" border="1" cellspacing="0" cellpadding="6"  class="smallbodytext">';
	alt = '';
	colr = 0 ;
	
	for(i = 0; i < page['players'].length; i++) {
		
		if (page['players'][i].hyperlink != '')
		{aa='<td width="18%" height="22" ><a href=' + page['players'][i].hyperlink + ' target=_blank>' + page['players'][i].host + '</a></td>';
		} else	{aa='<td width="18%" height="22" >'	+ page['players'][i].host	+ '</td>';}
		
		if (page['players'][i].edate == '01-Jan-1970')
		{bb= '<td width="12%">' + 'To be announced' + '</td>';
		} else {bb='<td width="12%">' + page['players'][i].edate + '</td>';}
			
		if (colr == 0) { cc='<tr bgcolor="#F5F5F5">';colr=1;}else{cc='<tr bgcolor="#E4E4E4">';colr=0;}
			
		table +=		
						cc + aa +
						'<td width="11%">' + page['players'][i].city 	+ '</td>' +
						'<td width="12%">' + page['players'][i].country	+ '</td>' +
						bb +
						'<td width="10%">' + page['players'][i].duration	+ '</td>' +
						'<td width="37%">' + page['players'][i].description	+ '</td>' +
						'</tr>';
		(alt == '')
			?	alt = 'alt'
			:	alt = '';
	aa='';
	bb='';
	}
	
	table += '</table>';
	contain.innerHTML = table;
}



function getNextPage() {
	if(!active) {
		currentRecord =  parseInt(currentRecord,10) + parseInt(pagingSize,10);
		showNavigation();
		getNextData();
	}
}

function getLastPage() {
	if(!active) {
		currentRecord =  parseInt(recordCount/pagingSize)*pagingSize;
		showNavigation();
		getNextData();
	}
}

function showNavigation() {
	
	currentPages = Math.ceil((parseInt(currentRecord,10) + 1)/parseInt(pagingSize,10));
	totalPages = Math.ceil(parseInt(recordCount,10)/parseInt(pagingSize,10));
	
	$('currentPag').innerHTML =  'Page ' + currentPages; 
	$('totalPag').innerHTML =  'of ' + totalPages; 
	
	(currentRecord == 0)
		?	$('previousLink').style.visibility = 'hidden'
		:	$('previousLink').style.visibility = 'visible';
	
	(currentRecord == 0) //crap here
		?   $('firstLink').style.visibility = 'hidden' 
		:   $('firstLink').style.visibility = 'visible';
		
	((parseInt(currentRecord,10)+parseInt(pagingSize,10)) >= parseInt(recordCount,10)) 
		?	$('nextLink').style.visibility = 'hidden'
		:	$('nextLink').style.visibility = 'visible';
		
		
	((parseInt(currentRecord,10)+parseInt(pagingSize,10)) >= parseInt(recordCount,10)) // crap here
		?	$('lastLink').style.visibility = 'hidden'
		:	$('lastLink').style.visibility = 'visible';
		
}



function getPreviousPage() {
	if(!active) {
		currentRecord =  parseInt(currentRecord,10) - parseInt(pagingSize,10);
		showNavigation();
		getPreviousData();
	}
}

function getFirstPage() {
	if(!active) {
		currentRecord =  0;
		showNavigation();
		getPreviousData();
	}
}

